打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ASP.NET 301跳转或者进行301重定向/转向的方法

网站的域名如果进行更改,一般要对原有的域名进行301跳转操作,也叫做301重定向和301转向,这样对于SEO优化是十分有利的,还可以保证更换后的新域名能被各个搜索引擎收录进去。本文介绍了如何在ASP.NET 网站或者ASP.NET MVC网站中利用配置文件设置对全站URL进行301跳转,该跳转是所有的URL:包含静态页面,纯HTML文件,各种一般处理程序,所有的图片链接。

具体代码如下(在ASP.NET程序的Web.config中的system.webServer节点设置和添加<rewrite>节点):

  <system.webServer>     <rewrite>       <rules>         <rule name="WWW Redirect" stopProcessing="true">           <match url=".*" />           <conditions>             <add input="{HTTP_HOST}" pattern="^ywftest.com$" />           </conditions>           <action type="Redirect" url="http://www.shiyousan.com/{R:0}" redirectType="Permanent" />         </rule>       </rules>     </rewrite>   </system.webServer>

上面的代码中 <add input="{HTTP_HOST}" pattern="^ywftest.com$" />   这段代码,其中ywftest.com是原来的网站域名。而<action type="Redirect" url="http://shiyousan.com/{R:0}" redirectType="Permanent" />这段代码中,http://shiyousan.com是网站的新域名,也是旧域名要301跳转到的目标域名。将这段配置文件设置添加到程序的Web.config中,在搜索引擎打开的原域名地址都会自动调整到新域名的地址了。

需要注意的是,配置文件中的格式一定要和上面代码的一样,比如 pattern="^ywftest.com$",其中^$都是必须的,这是正则表达式匹配域名路径,而url=http://shiyousan.com/{R:0}中的{R:0}则表示该域名下第一个301跳转规则(R:0表示索引0)。

如果旧域名有多个或者要设置多个子域名进行301跳转,根据{R:X}这里的索引编号进行对应(比如R:0,R:1,R:2),也就是说可以做多个域名301跳转,具体可以看下国外的这篇文章:Fix Common SEO Problems Using the URL Rewrite Extension

还有一点也要注意,如果出现元素 “system.webServer” 的子元素 “rewrite” 无效 的这个警告信息,这是由于以前的Visual Studio智能提示模式是不支持URL Rewrite 功能的,VS2013倒是正常。而且这个rewrite也只有在IIS7中才可以使用(其他版本的IIS可能要安装URL Rewrite模块功能)。

如果网站程序是在VS2013中调试的话,上面的配置可以看到是起作用的(使用的是IIS Express)并且不会报错,但是如果使用VS2010或者更低的版本,调试的时候上面的配置则无法起作用,因为VS2010使用的是ASP.NET Development Server(ASP.NET 开发服务器),所以要么发布到IIS7上测试,要么调试的时候不使用Visual Studio的开发服务器,而是用本地IIS服务器(本地电脑要安装IIS7,修改的地方在VS中项目下的Properties项目属性设置里,点击Web,下面就有选项了)。这个错误可以看这篇文章:Visual Studio IntelliSense for URL Rewrite,还有的问答:The element > system.webServer' has invalid child > element 'rewrite'

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
301重定向代码合集(iis,asp,php,asp.net,apache)
详解301永久重定向实现方法
运行Node.js的IIS扩展iisnode安装配置笔记
Web.config在渗透中的作用
WEB前端优化的体会(二)
Asp.net MVC项目的部署(二):对IIS7的补充
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服