网站域名更换已接近一个月了,数据也转移到了WordPress,设置301重定向成为当前亟待解决的问题。由于未备案,域名商那边关闭了“域名转向”的功能,所以现在只能想其它办法解决了。

在网上百度了很多教程,发现方法很多,我个人倾向修改.htaccess文件,于是按着教程做了,结果测试发现都失效了,甚至出现“现此网页包含重定向循环”的错误提示。不过通过几份教程的对比,还是修改出了一串很有效很简洁的代码。

这里只针对WordPress的301重定向为例。打开网站根目录下的.htaccess文件,发现有以下代码:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

我们只需在上面的代码下行插入如下代码,将对应域名改为自己的便可。该添加方法适用于所有Linux平台主机进行301重定向设置。

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

附上我的修改信息,经测试很成功。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteEngine on
RewriteCond %{http_host} ^www.jishukong.net [OR]
RewriteCond %{http_host} ^www.tangxiaowen.net [OR]
RewriteCond %{http_host} ^tangxiaowen.net [NC]
RewriteRule ^(.*)$ http://jishukong.net/$1 [L,R=301]
</IfModule>
# END WordPress

注:上面出现的域名tangxiaowen.net为需要跳转的域名(旧域名),下面的域名jishukong.net为最终域名(新域名)。此方法也可用于不带www的网址转向至带www的网址。
301

国外测试网址:http://www.seoconsultants.com/tools/headers
提示:检测结果出现"301 Moved Permanently"即为成功。

关于.htaccess文件自动还原的问题

经过测试发现,只要你点击了“设置-固定连接”,不管你有没有修改什么,也不管你有没有保存,.htaccess文件中# BEGIN WordPress和# END WordPress之间的内容就会被更改,自动还原。针对这一问题,最好的解决方法就是:把自己添加在.htaccess中的语句,写在# BEGIN WordPress和# END WordPress之外。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
RewriteEngine on
RewriteCond %{http_host} ^www.jishukong.net [OR]
RewriteCond %{http_host} ^www.tangxiaowen.net [OR]
RewriteCond %{http_host} ^tangxiaowen.net [NC]
RewriteRule ^(.*)$ http://jishukong.net/$1 [L,R=301]

 
目前共有1条评论
你目前的身份是游客,评论请输入昵称和电邮!

  1. 301重定向,很详细。
    小七 2014.12.8 16:32 @
  • 暂无Trackback