使用ISAPI_Rewrite做简单实用的301重定向
程序员文章站
2022-04-19 11:07:46
但是对于虚拟主机用户来说,301重定向很难,因为虚拟主机提供商一般不会提供这个设置。 但是对于安装了isapi rewrite的空间,那么301重定向就相对来说变得简单了。...
但是对于虚拟主机用户来说,301重定向很难,因为虚拟主机提供商一般不会提供这个设置。
但是对于安装了isapi rewrite的空间,那么301重定向就相对来说变得简单了。
下面我们还是以实例来说明正确使用isapi rewrite做301重定向的方法吧。
1.3版的域名重定向:
# for isapi_rewrite 1.3 重定向域名
#重定向jb51.cn
rewritecond host: ^jb51.net$
rewriterule (.*) http://jb51.cn$1 [i,r]
#重定向www.uuwar.org
rewritecond host: ^www.jb51.net$
rewriterule (.*) http://www.jb51.cn$1 [i,r]
这里我们要将jb51.net重定向到jb51.cn
由于isapi rewrite现在使用较多的有两个版本2.x版跟3.x版
那么就把两个版本的规则都写出来,3.0版本是不兼容2.0的规则的,只是有提供规则转换器,导入就可以转换了。
# for isapi_rewrite 2.x
rewritecond host: ^maphack.org$
rewriterule (.*) http://jb51.cn$1 [i,rp]
rewritecond host: ^www.maphack.org$
rewriterule (.*) http://www.jb51.cn$1 [i,rp]
# for isapi_rewrite 3.x
rewritecond %{http:host} ^maphack.org$
rewriterule (.*) http://jb51.cn$1 [nc,r=301] rewritecond %{http:host} ^www.maphack.org$
rewriterule (.*) http://www.jb51.cn$1 [nc,r=301]
说明:[i,rp]:i表示忽略大小写,rp表示使用301转向,以上都是整个域名重定向。
单一页面重定向的写法,将根目录下的1.html重定向到http://www.jb51.cn/index.html:
# for isapi_rewrite 2.x
rewriterule ^/1.html$ http://www.jb51.cn/index.html [i,o,rp,l]
# for isapi_rewrite 3.x
rewriterule ^/1.html$ http://www.jb51.cn/index.html [nc,l,r=301,o]
说明:o表示对url进行标准化,l表示last rule,最后一条规则,也就是后面的重写规则对他不起作用,防止被其他匹配的规则再次重写。这里的路径可以是相对路径也可以是绝对路径。
但是对于安装了isapi rewrite的空间,那么301重定向就相对来说变得简单了。
下面我们还是以实例来说明正确使用isapi rewrite做301重定向的方法吧。
1.3版的域名重定向:
复制代码 代码如下:
# for isapi_rewrite 1.3 重定向域名
#重定向jb51.cn
rewritecond host: ^jb51.net$
rewriterule (.*) http://jb51.cn$1 [i,r]
#重定向www.uuwar.org
rewritecond host: ^www.jb51.net$
rewriterule (.*) http://www.jb51.cn$1 [i,r]
这里我们要将jb51.net重定向到jb51.cn
由于isapi rewrite现在使用较多的有两个版本2.x版跟3.x版
那么就把两个版本的规则都写出来,3.0版本是不兼容2.0的规则的,只是有提供规则转换器,导入就可以转换了。
复制代码 代码如下:
# for isapi_rewrite 2.x
rewritecond host: ^maphack.org$
rewriterule (.*) http://jb51.cn$1 [i,rp]
rewritecond host: ^www.maphack.org$
rewriterule (.*) http://www.jb51.cn$1 [i,rp]
# for isapi_rewrite 3.x
rewritecond %{http:host} ^maphack.org$
rewriterule (.*) http://jb51.cn$1 [nc,r=301] rewritecond %{http:host} ^www.maphack.org$
rewriterule (.*) http://www.jb51.cn$1 [nc,r=301]
说明:[i,rp]:i表示忽略大小写,rp表示使用301转向,以上都是整个域名重定向。
单一页面重定向的写法,将根目录下的1.html重定向到http://www.jb51.cn/index.html:
复制代码 代码如下:
# for isapi_rewrite 2.x
rewriterule ^/1.html$ http://www.jb51.cn/index.html [i,o,rp,l]
# for isapi_rewrite 3.x
rewriterule ^/1.html$ http://www.jb51.cn/index.html [nc,l,r=301,o]
说明:o表示对url进行标准化,l表示last rule,最后一条规则,也就是后面的重写规则对他不起作用,防止被其他匹配的规则再次重写。这里的路径可以是相对路径也可以是绝对路径。