热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

使用ISAPI_Rewrite做简单实用的301重定向

现在很多人都使用虚拟主机,而在域名越来越便宜,注册也越来越容易的的情况下,大家的网站可能经常更换域名,把旧的域名替换为新的,但是又不想丢失以前域名的流量,那就要使用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,最后一条规则,也就是后面的重写规则对他不起作用,防止被其他匹配的规则再次重写。这里的路径可以是相对路径也可以是绝对路径。
推荐阅读
author-avatar
Sophie-wyq_661
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有