详解301重定向及实现方法
2012-07-06 09:09:57 来源:WEB开发网将页面301重定向到另外一个页面
Options +FollowSymLinks RewriteEngine On RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301]
四、IIS服务器下做301重定向设置方法
示例:将15597.com 跳转到 www.15597.com
1、新建一个站点,对应目录如d:\site。该站点主要用于转向,目录可以是空的,不需要任何文件。然后为该站点绑定要跳转的域名15597.com,如图:
2、在IIS中选中刚才我们建立的站点,右键,属性,主目录,选择重定向到,输入另一个绑定好 www.15597.com 域名的网站地址(这个网站下存放有网站内容)。输入的地址是:http://www.15597.com$S$Q,同时注意选中下面的"资源的永久重定向选项" 和 “上面输入的准确URL” 这2个选项。如下图:
对于$S$Q字符,这里解释一下:
$S 将请求的URL的后缀传递给新的URL。后缀是用重定向的URL 代替之后,初始URL 中所保留的部分。
如果未选中 "上面输入的准确URL" 选项,则结果目标URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
$Q 将初始URL中的参数(如 querystring 参数)传递至新的 URL,包括问号(?)。
如果不加上 $S$Q 字符的话,内页的301都会跳转到首页,加上$S$Q字符的目的就是内页也能准确的跳转到新域名的对应内页。
好了,这样就完成了301永久重定向的设置,设置好之后最好能测试一下301重定向是否成功。站长工具的HTTP状态工具(http://tool.chinaz.com/pagestatus/)即可查到,如果查到的返回状态是301就说明你已经成功了。
五、使用ISAPI_Rewrite实现IIS的301重定向
ISAPI_Rewrite是用于IIS的第三方URL重写组件。它是基于正则表达式的,类似Apache mod_rewrite功能,不仅可以实现URL重写,还可以实现301重定向。
ISAPI_Rewrite组件有免费版(Lite)以及商业版(Full),免费版只支持全局httpd.conf 配置,不能对每个站点进行单独设置,而商业版可以让每个站点自定义URL重写规则,只要将httpd.ini 放在站点根目录下就能生效。
请使用 ISAPI_Rewrite 2.x 或者 最新的3.0 版本(它兼容Apache的mod_rewrite的语法),而较早的1.x 版本不支持301重定向功能。
下面给出示例:
1. 将不带www的顶级域名301重定向到带www的域名
# ISAPI_Rewrite 2.x 版本 [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteCond Host: ^15597\.com$ RewriteRule (.*) http://www.15597.com$1 [I,RP]
# ISAPI_Rewrite 3.0 版本 [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteCond %{HTTP:Host} ^15597\.com$ RewriteRule (.*) http://www.15597.com$1 [NC,R=301]
2. 不同域名之间的301转向
# ISAPI_Rewrite 2.x 版本 [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteCond Host ^www\.test10000\.com$ RewriteRule (.*) http://www.15597.com$1 [I,RP]
更多精彩
赞助商链接