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="https://shiyousan.com/{R:0}" redirectType="Permanent" /> 
        </rule> 
      </rules> 
    </rewrite> 
  </system.webServer>

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

跳转代码截图

需要注意的是,配置文件中的格式一定要和上面代码的一样,比如 pattern="^ywftest.com$",其中^$都是必须的,这是正则表达式匹配域名路径,而url=https://shiyousan.com/{R:0}中的{R:0}则是URL匹配规则的反向引用,具体可以看这两篇文章:

  1. IIS8如何安装和使用URL重写工具-URL Rewrite
  2. 详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}

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

必须注意事项!!!

网站如果发布到IIS上,一定要检查IIS是否有安装URL Rewrite重定向模块,如果没有的话还需要在服务器的IIS上安装,否则网站将无法打开,这里点击进入官方的下载地址。

如果网站程序是在VS2013中调试的话,上面的配置可以看到是起作用的(使用的是IIS Express)并且不会报错,但是如果使用VS2010或者更低的版本,调试的时候上面的配置则无法起作用。

因为VS2010使用的是ASP.NET Development Server(ASP.NET 开发服务器),所以要么发布到IIS上测试,要么调试的时候不使用Visual Studio的开发服务器,而是用本地IIS服务器,前提是本地电脑上要安装IIS7,修改调试选项的地方在VS中项目下的Properties项目属性设置里,点击Web,下面就有选项了。这个错误可以看这篇文章:Visual Studio IntelliSense for URL Rewrite,还有的问答:The element > system.webServer' has invalid child > element 'rewrite'。

相关文章:

  • Windows虚拟主机与VPS如何实现301重定向(asp.net)
  • IIS7 下 的URL REWRITE规则

 




原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/98316.html

(0)
上一篇 2021年8月21日
下一篇 2021年8月21日

相关推荐

发表回复

登录后才能评论