每个基于WordPress(Drupal同样适用)的博客都有一个问题:同一篇文章存在4个不同的URL。这个问题一定要修复以阻止链接稀释化。可以参考我的方法来规范化URL。
http://www.myblog.com/my-blog-post
http://www.myblog.com/my-blog-post/
http://myblog.com/my-blog-post
http://myblog.com/my-blog-post/
虽然上面4个不同链接指向了同一篇文章,但是Google会将它们分别对待,所以其中一个排名将会比其他的高。Matt Cutts曾写过一篇文章讨论这个问题。
现在我们来让这4个链接的排名全部转移至 http://www.myblog.com/my-blog-post/ ,将以下的代码加在.htaccess文件中关于永久链接的前面:
Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^myblog\.com
RewriteRule ^(.*)$ http://www.myblog.com/$1 [R=permanent,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.myblog.com/$1/ [L,R=301]
(以下部分为译者北极冰仔补充)
把其中的myblog替换为你的域名。或者用以下代码转向至去掉www的地址:
Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond ${HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^myblog\.com
RewriteRule (.*) http://myblog.com/$1 [L,R=301]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://myblog.com/$1/ [L,R=301]
如果你觉得修改.htaccess很麻烦,也可以使用Permalink Redirect这个插件来实现。
