发表于2014-06-30 22:37:46
以前觉得apache中的.htaccess 十分好用,主要是他可以轻松配置301重定向!
其实在网站运营中,301是非常有用且非常常用的功能,比如,我们经常都会把带www的301向不带www的域名(也有反之将不带www的301到www的),或者将多域名301到一个域名,来避免权重分散,是SEO十分重要的一种手段。
但是在原生的IIS6.0中,实现301,需要新建一个站点,使部分虚拟主机用户十分不方便。
好在WIN2008以上版本(IIS7+)中,微软官方终于提供了一个URL Rewrite Module,不仅可以实现URL重写,还同样支持301配置,更重要的是,它支持从.htaccess中导入规则!
URL Rewrite Module是一个基于规则的URL重写引擎,用于在URL被Web服务器处理之前改变请求的URL。对于动态Web应用程序,它可以为用户和搜索引擎提供友好的URL,URL重写和重定向是基于HTTP头和服务器变量的,并可以对站点内容进行访问控制。
那么我们如何写义301呢,只要新增加一条规则,将action的type指定为Redirect即可。示例代码如下:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Add www" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <conditions> <add input="{HTTP_HOST}" pattern="www.jiniannet.com" negate="true" /> </conditions> <action type="Redirect" url="http://www.jiniannet.com/{R:1}" /> </rule> </rules> </rewrite> <urlCompression doStaticCompression="true" doDynamicCompression="true" /> </system.webServer> </configuration>
注意,它的配置文件为web.config,如果是asp.net网站,本身是自带这个文件的,那么只要将内容合并过去即可。