WordPress换域名的完美301跳转方法

经常来我这的朋友都知道我被逼无奈搬家无数,也因为头脑发烧换了3次域名(第一次用 blog.zwwooooo.com,第二次是 zwwooooo.com,第三次是真的换了 zww.me)。

搬家倒是很容易,就是换域名的话要考虑搜索引擎能否快速收录新网址,这就要给原域名作 301 转向了,最好保留原网站数据不动一个月以上。

转向了几次也就懂得方法了,当然都是 Google 来的!下面直接列出方法当自己的笔记好了,需要的朋友也可以直接参考、Copy。

一、Linux 主机,这个最简单,修改 .htaccess(方法参考自《第七日》的这篇文章

把 .htaccess 文件 WordPress 部分修改成下面样子:

# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^www.old.com [nc]
rewriterule ^(.*)$ http://www.new.com/$1 [L,R=301]
</IfModule>
# END WordPress

注意:www.old.com 替换为你的老域名,www.new.com 替换为你的新域名

2009.9.13 Update:有更简单的方法——来自博译论的{.htaccess生成器}

二、Windows 主机,可以用 php 跳转(方法来自哪里忘了,那就是来自互联网了)

修改 wordpress 根目录下的 wp-blog-header.php ,并在文件开头 <?php 之后加入以下代码:

if (strtolower($_SERVER['SERVER_NAME'])!='zww.me')
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)=="/index.php")
{
$URIRedirect="/";
}
header('HTTP/1.1 301 Moved Permanently');
header('Location:https://zww.me'.$URIRedirect);
exit();
}

注意:把里面的两个 zww.me 修改成你的新域名

——————————————————————————

简单吧,会 Copy 就会了,我也是 Copy 的,嘿嘿。

zww
or
oooo

“WordPress换域名的完美301跳转方法”有118条评论

  1. DA面板可以直接设301……

    我的PR就是这样继承过来的……

    话说……我也在策划换域名了T T :roll:

    1. zwwooooo says:

      很多DA面板都是支持.htaccess的,有些人没有进入后台的权限就不得不用php了

  2. Leo.N says:

    不错,我最近正计划修改永久链接的格式。。。用这个方法应该行。。。

    1. zwwooooo says:

      永久链接可以用一个插件保留原来的链接有效,这样等新连接地址收录的差不多时才撤

  3. Rui says:

    我在观望好的空间商再做搬家事宜。。。

    1. zwwooooo says:

      祝你找到好的空间。

  4. ifu25 says:

    这个是所有页面都能重定向吗?程序我还得加把劲学习一下。

    1. zwwooooo says:

      嗯,所有页面

  5. Vicia says:

    :oops: 按照这里面说的,已经弄好了。

    1. zwwooooo says:

      哈,原来我这文章还很有用嘛

  6. 在CN整顿之前注册的CN域名,当时还觉得幸运呢,现在越来越不安了,所以这两天打算换国际米了。
    文章很有用,要参考一下。设置好301重定向过段时间后还需要撤掉重定向吗?刚接触这类东西,所以一点不懂 :???:

    1. zwwooooo says:

      @设&计是空 重定向的目的是为了搜索引擎更快的收录你的新域名,大概1~2个月后可以撤掉,最好保留原站点域名和内容半个月到一个月

    2. @zwwooooo 谢谢,那么撤销是如何操作的呢?我是要继续使用原来站点的数据和空间的。

    3. zwwooooo says:

      @设&计是空 那就只做跳转啊,以后不跳转了就把跳转的代码删除就可以了,简单点就是备份现在的.htaccess,然后修改,以后不做跳转就把备份的.htaccess覆盖修改过的。

    4. @zwwooooo 哦,明白了,非常感谢~
      顺便说下喜欢你的空间,简洁!
      @某人点上去有个框显示出来的是怎么实现的?

    5. zwwooooo says:

      @设&计是空 用 jQuery 实现的

    6. @zwwooooo ok,刚刚换好域名,做好重定向,非常谢谢啦~

    7. @设&计是空 喔~发现错误了,主页会跳转了,文章打开都是404了

    8. zwwooooo says:

      @设&计是空 因为只是换域名,所以你不要修改wp所在目录的.htaccess,你把你的旧域名指向一个文件夹,然后再此文件夹加一个.htaccess,内容如下:

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

      注:
      olddomain.com为旧域名
      http://www.newdomain.com/为新域名

    9. @zwwooooo 感谢你这么详细的为我解答,但是我还是不懂(从来没接触过这个也没学过相关知识)。把旧域名指向一个文件夹式怎么做的,我看到旧域名有个文件夹的确是在的~ :???:

    10. @设&计是空 博主,问题解决了,我是将你文中那段代码换成:
      RewriteEngine On
      RewriteBase /
      RewriteCond %{HTTP_HOST} ^www.old.cn [NC]
      RewriteRule ^(.*)$ http://www.new.com/$1 [R=301,L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      # BEGIN WordPress

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

      # END WordPress

    11. @设&计是空 额~~有尖括号的显示不出。好了,楼被我搭的够高了,哈哈~再次感谢~

    12. YesCola says:

      @zwwooooo zww应该参考设计星空留下的评论,他那个是可以301并且不会影响伪静态。而你文中的代码很多人估计都会直接复制去替换掉默认的.htaccess。但如果设置过伪静态的固定链接就会出现404。

    13. YesCola says:

      @设&计是空
      谢谢! 参考你的代码成功搞定~~

    14. zwwooooo says:

      @YesCola
      其实我写的是老玉米那里的调整,应该是这样,下面的我没测试:

      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine on
      rewritecond %{http_host} ^www.old.com [nc]
      rewriterule ^(.*)$ http://www.new.com/$1 [L,R=301]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>
      # END WordPress
  7. Fantasy says:

    哈哈,修改了,过段时间看看是否有效~

    1. zwwooooo says:

      @Fantasy 这样能加快搜索引擎收录文章

  8. PSJay says:

    不知道为什么,按照博主的方法改掉.htaccess文件之后,用旧域名访问的话会跳转到 newdomain.com/public_html 下,然后就404错误了。。。请博主帮帮忙。

    1. zwwooooo says:

      @PSJay 应该没问题,我试过,或者你用我文章里面给出的工具

  9. KARONL says:

    我也准备要换域名,但我找不到.htaccess之前看到,现在找就找不到了啊。

    1. zwwooooo says:

      @KARONL
      一般根目录有,有些ftp软件看不到

  10. 浩子 says:

    如果我从www.haozer.com换到haozer.com需要重定向不呢?

    1. zwwooooo says:

      @浩子
      一般不用重定向,你把www子域名指向同一主机ip,一般主机都设置好www会转向主域名

  11. 娃仔 says:

    我换了域名,win主机做了php跳转,可是跳转结果不理想,例如 http://www.xxx.com/cq45 点击这个链接会跳转到 xxx.com/index.php/cq45 请有什么方法可以去掉index.php 求解!

    1. zwwooooo says:

      @娃仔
      去wp后台的“设置”-》"固定链接"哪里去掉index.php,不过不建议用win主机,如果你要玩wp的话。

  12. heson says:

    刚刚换域名 哈哈`````

    1. zwwooooo says:

      @heson
      yyheson,yy和son,哈,开个玩笑

  13. 我想换域名,但是旧域名的文章链接会转到新域名的文章么?

    1. zwwooooo says:

      @丑男ヽ賤到極致是自然
      所以要设置301跳转。

  14. Options +FollowSymLinks
    RewriteEngine on
    rewritecond %{http_host} ^blog.willin.me [nc]
    rewriterule ^(.*)$ http://willin.me/blog/$1 [L,R=301]

    替代原有的就可以了吗?

    1. zwwooooo says:

      @Willin Wang
      目录的没试过,按道理如此。

  15. 如上.

  16. 孤风 says:

    域名更改,不小心会很受伤

    1. zwwooooo says:

      @孤风
      不得已才换,如果不在意也没事。

  17. 。潇 says:

    :razz: 刚刚用你的方法,试了试,不过可以跳转,但是用了固定连接的、都有问题,还好我解决了。我是保留原来的,代码,然后在其前面加你的代码,就可以了。

    1. zwwooooo says:

      @。潇
      霍霍,解决就好。

    2. 天天向上 says:

      @。潇
      试了一下,没有成功,请潇 朋友帮我解决一下,博主也可以,我的QQ :834888611 :razz: 谢谢

    3. zwwooooo says:

      @天天向上
      文章已经说的很清楚了

    4. 天天向上 says:

      @zwwooooo
      已解决,谢谢

  18. 。潇 says:

    :mrgreen: 就是就是。3Q

  19. 不想换域名,只想弄一下快一点、稳定一点的空间~

    1. zwwooooo says:

      @龙的传人
      你的是很奢侈的要求,对于现在的环境。

  20. 側欄的標籤現在的樣式很好看的說,
    不過評 - 修 - 熱 這三個點擊后,後面的標題好像下沉了點 另外兩個正常,不知道是刻意讓下沉的還是?
    PS:這個跳轉代碼是不是 在VPS下 在wp根目錄同樣使用?
    第一種方法的內個?

    1. zwwooooo says:

      @心淡若水
      你说标题下沉?按道理不会啊,我这边不会,Chrome/FF/Opera/IE9都不会
      这文章的是换域名用的,具体的当时我没去研究,只知道这样跳转就行了

    2. @zwwooooo
      額 你再問下你哥們看看
      我是chrome 不過可能有點老是 10
      不過剛才用IE8 和 ff打開
      都是一樣的 還是那三個 不知道你這回覆能插圖片不?可以弄張圖看下!

发表评论

昵称 *

网址

B em del U Link Code Quote