asp.net webform url 路由 后缀html,【转载】ASP.NET MVC重写URL制作伪静态网页,URL地址以.html结尾...

在搜索引擎优化领域,静态网页对于SEO的优化有着很大的好处,因此很多人就想把自己的网站的一些网页做成伪静态。我们现在在网络上发现很多博客网站、论坛网站、CMS内容管理系统等都有使用伪静态这一种情况,伪静态在地址栏看到的URL地址是以.html结尾的,但实际上却是一个动态的网页,后台可能是Asp.net、Php或者Java动态生成的该页面。

下面简单介绍下ASP.NET MVC5模式下的伪静态的实现。

1、从URL地址来分析,伪静态的网页一般以.html结尾,那我们就需要进行URL重写,这种重写在ASP.NET WebForm模式下稍微复杂点,但在MVC模式下就变得简单,我们只需要添加一个路由规则,该规则的网址以.html界面,并且在规则中加入相应的动态参数。

我们新建个MVC5网站后,默认的路由规则可以查看RouteConfig文件,可以看到规则如下:

在搜索引擎优化领域,静态网页对于SEO的优化有着很大的好处,因此很多人就想把自己的网站的一些网页做成伪静态。我们现在在网络上发现很多博客网站、论坛网站、CMS内容管理系统等都有使用伪静态这一种情况,伪静态在地址栏看到的URL地址是以.html结尾的,但实际上却是一个动态的网页,后台可能是Asp.net、Php或者Java动态生成的该页面。

下面简单介绍下ASP.NET MVC5模式下的伪静态的实现。

1、从URL地址来分析,伪静态的网页一般以.html结尾,那我们就需要进行URL重写,这种重写在ASP.NET WebForm模式下稍微复杂点,但在MVC模式下就变得简单,我们只需要添加一个路由规则,该规则的网址以.html界面,并且在规则中加入相应的动态参数。

我们新建个MVC5网站后,默认的路由规则可以查看RouteConfig文件,可以看到规则如下:

c41cc2c63560c086ddca562a5edcb11e.png

那我们可以仿造上图中定义规则的形式,定义某个伪静态的路由,我们定义Test控制器下的Url地址为伪静态,定义后的规则如下:

ad3035343de26abb3bdadcfeb4ee436e.png

2、定义完MVC的路由,重写URL地址为伪静态只算完成一半,此时IIS对伪静态.html的处理并不如你所愿。众所周知,默认情况下.html以及javascript、css文件等静态资源,请求传入后,是直接交由IIS进行处理的,不会进过你网站代码编译的dll之类处理。

为了使我们定义的伪静态网页不交由IIS直接处理,而是交由ASP.NET MVC网站来内部处理的话,我们需要在webconfig中定义一个配置项,告知IIS针对所有的以.html结尾的网页不做默认处理,而是交由ASP.NET MVC管道处理。为了达到这种效果,我们需要在中的节点加入URL重写配置,具体的配置如下:

在上述的两个配置中,我是配置了32位应用程序和64位应用程序的处理方式,scriptProcessor表示具体处理.html伪静态文件的管道程序dll,从后面的aspnet_isapi.dll来看就知道.html文件在此设置项定义后将交由ASP.NET MVC内部来处理。

至此,ASP.NET MVC中伪静态的实现大致完成,相关细节点待读者自行研究。

博主个人技术交流群:960640092,博主微信公众号如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值