+ -
当前位置:首页 → 问答吧 → 用.htaccess实现网址规范化

用.htaccess实现网址规范化

时间:2007-12-29

来源:互联网

网址规范化在SEO中是一个比较重要的环节,同时存在不同的网址版本,不但可能造成复制,还不能正确的集中权重。

目前大多数网站,绑定域名都有带WWW和不带两个版本,甚至很多网站同时绑定多个域名。经过处理(跳转、CNAME……),对于访问者来说可能没有任何影响,看到的都是同样的内容;但对于搜索引擎,就无法确定哪一个网址是真正的主页。

可控因素,网站内容链接应该保持同一个版本,比如整站中,返回首页的地址为固定的一个版本。但还有一个不可控的因素,就是别人链到你的网站,所使用的网址。很多自发链接或交换链接时,别人可能会省略掉WWW,或采用绑定的另一域名。

外界因素不可控,我们可以从网站内部来控制。利用Apache的.htaccess,使用301重定向,规范网址。

新建一个空文件,文件名.htaccess,填入重定向规则后,上传到网站根目录。

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

rewriteEngine on
rewriteCond %{http_host} ^379.cc [NC]
rewriteRule ^(.*)$ http://www.379.cc/$1 [R=301,L]

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

RewriteEngine on
RewriteCond %{HTTP_HOST} ^379.cc$ [OR]
RewriteCond %{HTTP_HOST} ^bbs.379.cc$ [OR]
RewriteCond %{HTTP_HOST} ^luoyang.cc$ [OR]
RewriteCond %{HTTP_HOST} ^www.luoyang.cc$ [OR]
RewriteCond %{HTTP_HOST} ^bbs.luoyang.cc$
RewriteRule ^(.*)$ http://www.379.cc/$1 [R=301,L]

当然,也可以再扩展一下,将index.html、index.php等也重定向一下:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.379.cc/ [R=301,L]

可以用这个免费工具检查一下转向的效果:

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

作者: 油条   发布时间: 2007-12-29

应鼓励原创精品!

作者: luzhou   发布时间: 2007-12-29

我想利用.htaccess把动态网址重写成静态网址,
但写完以后,css文件里的图片都不能加载啦,
说找不到路径,但我的css文件时的图片路径和
php页面上的图片路径是一样的,php页面上的图片
就可以加载,不知道是怎么回事?求高手帮帮忙!

作者: greenboys   发布时间: 2007-12-29

引用:
原帖由 greenboys 于 2007-12-29 09:38 发表
我想利用.htaccess把动态网址重写成静态网址,
但写完以后,css文件里的图片都不能加载啦,
说找不到路径,但我的css文件时的图片路径和
php页面上的图片路径是一样的,php页面上的图片
就可以加载,不知道是怎么 ...
加载成静态以后比如
www.xxx.com/html/xxx_1_2.html
如果你的图片在主目录下的话,还需要将图片复制到html目录下才可以吧```
我这里做的时候就有这样的现象,只要复制过去就可以了```

作者: 17too   发布时间: 2007-12-29

不知道搜索引擎对301的请求会有什么想法

作者: bluexanadu   发布时间: 2008-01-03