每个域名都有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文件。