WordPress修改htaccess实现301重定向

2012年2 月27日 / 网站源码 / 没有评论 / 2,661次

每个域名都有www和非www两种网址形式,出于SEO、PR值权重等目的,我们一般会选定一个首选域,首选域是您希望您的网站在搜索结果中所显示的格式。比如,首选域是xxx.com,网址格式就是xxx.com/wordpress-host.html,而不是带www尾巴的。接下来,就需要对非首选域即www.xxx.com进行301重定向,这样,对搜索引擎就实现最友好的跳转了。

对于WordPress博客,我们可以通过修改.htaccess文件实现301重定向(永久性跳转)。下面列出各种301重定向实现代码。

1、重定向www.domain.com到domain.com

有的Linux主机服务器支持你在管理后台直接设置301转向。如果不能在后台设置,实现301重定向步骤也很简单:修改设置根目录的.htaccess文件,如果没有就新建一个文件名为.htaccess.txt的文档,在其中写入以下301重定向代码。

# BEGIN WordPress

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^xxx.com$ [NC]
RewriteRule ^(.*)$ http://xxx.com/$1 [L,R=301]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

下面只要修改其中的红色代码即可

2、重定向domain.com到www.domain.com

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

3、重定向olddomain.com到www.newdomain.com

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]

4.重定向olddomain.com to newdomain.com

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php

RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]

在网站初建和网站迁移时我们都需要使用301重定向,强调一下,在设置 301 重定向之前务必备份相应目录下的.htaccess文件。