用 .htaccess 实现网址规范化

网址规范化在 SEO 中是一个比较重要的环节,同时存在不同的网址版本,不但可能造成内容重复,还不能正确的集中权重。目前大多数网站,绑定的域名都有带 www 和不带两个版本,甚至很多网站同时绑定多个域名,经过处理(跳转、CNAME…),对于访问者来说可能没有任何影响,看到的都是同样的内容,但对于搜索引擎,就无法确定哪一个网址是真正的主页。

可控因素,网站内容链接应该保持同一个版本,比如整站中,返回首页的地址为固定的一个版本;但还有一个不可控的因素,就是别人链到你的网站,所使用的网址,很多自发链接或交换链接时,别人可能会省略掉 www,或采用绑定的另一域名。外界因素不可控,我们可以从网站内部来控制,利用 Apache 的 .htaccess,使用301重定向,规范网址。

下面就来详细看看经常遇到的网址不规范的几种处理方法:

用301将不带 www 的域名重定向

RewriteEngine On
RewriteCond %{HTTP_HOST} ^bbseat.com.cn$ [NC]
RewriteRule ^(.*)$ http://www.bbseat.com.cn$1 [R=301,L]

用301将绑定的其他多个域名重定向到主域名

RewriteEngine On
RewriteCond %{HTTP_HOST} ^bbseat.com.cn$ [NC,OR]
RewriteCond %{HTTP_HOST} ^bbs.bbseat.com.cn$ [NC,OR]
RewriteCond %{HTTP_HOST} ^qijianshop.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.qijianshop.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^bbs.qijianshop.com$ [NC]
RewriteRule ^(.*)$ http://www.bbseat.com.cn$1 [R=301,L]

将index.htm、index.php等也重定向一下

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://www.bbseat.com.cn/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /portal.php HTTP/
RewriteRule ^portal.php$ http://www.bbseat.com.cn/ [R=301,L]

有没有成功301重定向,可以用这个免费工具检查一下定向的效果:

http://www.internetofficer.com/seo-tool/redirect-check/

原文地址:https://www.cnblogs.com/kimshen/p/6003259.html