以前对于window服务器的用户来说,重定向很难,很不好使用,当然现在也不是很方便。
但是现在有些空间商的主机已经支持ISAPI Rewrite,那么301重定向就相对来说变得简单了。
还是以实例来说明正确使用ISAPI Rewrite做301重定向的方法吧。

10.01更新:1.3版的域名重定向:
# For ISAPI_Rewrite 1.3 重定向域名
RewriteCond Host: ^nanke03\.com$
RewriteRule (.*) http\://www\.nanke03\.com$1 [I,R]

这里我们要将nanke03.com重定向到www.nanke03.com
由于ISAPI Rewrite现在使用较多的有两个版本2.x版跟3.x版
那么我们规则就把两个版本的都写出来,3.0版本是不兼容2.0的规则的,只是有提供规则转换器,导入就可以转换了。
 
# For ISAPI_Rewrite 2.x
RewriteCond Host: ^nanke03\.com$
RewriteRule (.*) http\://www\.nanke03\.com$1 [I,RP]

# For ISAPI_Rewrite 3.x
RewriteCond %{HTTP:Host} ^nanke03\.com$
RewriteRule (.*) http\://www\.nanke03\.com$1 [NC,R=301]


接下来还有一种情况,假设将本博客www.nanke03.cn重定向到www.nanke03.com
也给出两种版本的写法:

  # For ISAPI_Rewrite 2.x
RewriteCond Host: ^www\.nanke03\.cn$
RewriteRule (.*) http\://www\.nanke03\.com$1 [I,RP]

# For ISAPI_Rewrite 3.x
RewriteCond %{HTTP:Host} ^www.\nanke03\.org$
RewriteRule (.*) http\://www\.nanke03\.com$1 [NC,R=301]

说明:[I,RP]:I表示忽略大小写,RP表示使用301转向。以上两种都是整个域名重定向

单一页面重定向的写法,将根目录下的index.htm重定向到http://www.nanke03.com/index.html:

  # For ISAPI_Rewrite 2.x
RewriteRule ^/oldpage.html$ http://www.nanke03.com/index.html [I,O,RP,L]
# For ISAPI_Rewrite 3.x
RewriteRule ^/oldpage.html$ http://www.nanke03.com/index.html [NC,L,R=301,O]

说明:O表示对URL进行标准化,L表示Last Rule,最后一条规则,也就是后面的重写规则对他不起作用,防止被其他匹配的规则再次重写。这里的路径可以是相对路径也可以是绝对路径。