手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > 电脑知识 > 文章 当前位置: 电脑知识 > 文章

ISAPI_Rewrite筛选器如何配置httpd.ini或.htaccess实现301重定向

时间:2017-09-27    点击: 次    来源:网络    作者:佚名 - 小 + 大

一、什么是301重定向?

301重定向也叫301转向,或者301跳转,是用户向web服务器发出访问请求时,服务器返回的HTTP数据流中头信息状态码的一种,表示本URL地址永久性的转移到另一个URL地址。

二、为什么要用301重定向?

1、传递权重,避免重复惩罚:

其一,假设xxx.com和www.xxx.com都可以访问到同一个页面,搜索引擎会判定相同的页面为相似页面,就会删除其一并惩罚;

其二,多一半相似页面,页面权重会被分割分散降低;

其三,设置网站唯一入口,提升权重。

2、多个域名转向到一个域名下,可以避免大量重复

比如:

xxx.org 、  xxx.net 、  xxx.com.cn、   xxx.cn

都可以使用301重定向到xxx.com这个主域名下

3、网站改版导致URL改变,可以使用301重定向到新URL下

4、动态URL静态化

三、如何在IIS下实现301重定向?

在IIS的Isapi上安装ISAPI_Rewrite筛选器

筛选器名称:Rewrite

可执行文件: Rewrite.dll

配置文件:httpd.ini

配置方法:修改httpd.ini,在其中定义301重定向规则。

示例1:以xxx.com开头的URL地址   转向到  以www.xxx.com开头的URL

# ISAPI_Rewrite 1.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^qtxw\.com$ 

RewriteRule (.*) http\://www\.qtxw\.com$1 [R,I]

# 注意此处只是实现了302重定向

# ISAPI_Rewrite 2.x 版本

RewriteCond Host: ^qtxw\.com$ 

RewriteRule (.*) http\://www\.qtxw\.com$1 [I,RP]

# ISAPI_Rewrite 3.x 版本

RewriteCond %{HTTP:Host} ^qtxw\.com$

RewriteRule (.*) http\://www\.qtxw\.com$1 [NC,R=301]

注:www.xxx.com→xxx.com可换成

RewriteCond %{HTTP:Host} ^www\.qtxw\.com$

RewriteRule (.*) http\://qtxw\.com$1 [NC,R=301]

示例2:不同域名之间的301转向(以下1.x版本略

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^baidu\.com$

RewriteRule (.*) http\://www\.qtxw\.com$1 [I,RP]

# ISAPI_Rewrite 3.x 版本

RewriteCond %{HTTP:Host} ^www\.baidu\.com$

RewriteRule (.*) http\://www\.qtxw\.com$1 [NC,R=301]

示例3:网站改版将旧页面301重定向到另外一个页面,目录一样

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^/oldpage.html$ http://www.qtxw.com/newpage.html[I,O,RP,L]

# ISAPI_Rewrite 3.x 版本

RepeatLimit 32

RewriteRule ^/oldpage.html$ http://www.qtxw.com/newpage.html[NC,L,R=301,O]

注意:ISAPI_Rewrite 1.3是现在国内应用得比较多的一个老版本,它可用于url 重写,但并不适合用来实现真正的301重定向功能。建议下载最新的ISAPI_Rewrite 3.0 版本。在1.x版本 url转发和301转向(重定向跳转)的实现那段代码在IIS下对域名重定向虽然能够顺利跳转,但是返回的仍然是302 HTTP header,而不是301 状态码。而且该段代码用于301重定向后,在blog中的其他页面都会跳转到首页。

这样设置以后,你的windows iis 也能实现301重定向了,不管是Google 和百度搜索引擎都不会有因为带有www和不带www的域名而产生重复页面问题了。

四、如何在Apache下实现301重定向?

方法一:修改.htaccess,在其中增加301重定向指令(采用“mod_rewrite”技术)

RewriteEngine on

RewriteRule ^(.*)$ http://www.qtxw.com/$1 [R=301,L]

方法二:修改.htaccess,在其中修改301重定向规则

找到下面这句,修改即可

Redirect permanent / http://xxx.com/ (将目录下内容重定向到http://xxx.com/)

redirect permanent /old.html http://xxx.com/new-url/ (将网页old.html内容重定向到http://xxx.com/new-url/)

通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。

上一篇:.htaccess或httpd.ini实现301重定向

下一篇:[ISAPI_Rewrite] httpd.ini伪静态实现不带www域名自动跳转到带www域名

凯立德2019冬季版更新..
粤ICP备13076123号  |   QQ:4805346  |  地址:Com  |  电话:92777708  |  
Copyright © 2024 天人文章管理系统 版权所有,授权Www.Qtxw.Com使用 Powered by 55TR.COM