wordpress莫名其妙的301重定向

曾经幻想着挂两个网站,国内阿里云一个国外DO云一个,这样两边访问速度都快了。结果这几天提交百度和谷歌收录的时候,迟迟没有索引了,网上一查,才发现问题:搜索引擎拒绝镜像网站!没办法,只好把之前用的域名停掉,为了把收录量转过来,就做了域名的301重定向。现在是成功了,但是成功的原因我还是莫名其妙。

先是看网上的建议,在网址根目录下找到 .htaccess 文件,进行了修改,最后主要就是加两句话:

  1. RewriteCond %{http_host} ^www.maydolly.com [nc]    
  2. RewriteRule ^(.*)$ http://www.classnotes.com/$1 [L,R=301]    

但是总是失败,最后变成了这个样子: 

  1. RewriteEngine On  
  2. # BEGIN WordPress  
  3.   
  4. <IfModule mod_rewrite.c>  
  5. RewriteEngine On  
  6. #RewriteBase /~maydolly/  
  7. RewriteBase /  
  8. RewriteRule ^index\.php$ – [L]  
  9. RewriteCond %{REQUEST_FILENAME} !-f  
  10. RewriteCond %{REQUEST_FILENAME} !-d  
  11. #RewriteRule . /~maydolly/index.php [L]  
  12. RewriteRule . /index.php [L]  
  13. </IfModule>  
  14. RewriteCond %{http_host} ^www.maydolly.com [nc]  
  15. RewriteRule ^(.*)$ http://www.classnotes.com/$1 [L,R=301]  
  16.   
  17. # END WordPress  

但是还是不行,完全没有作用。本着死猪不怕开水烫的想法,我把这个文件复制了一份放到主题文件夹下,依然失败!

这时候只好找别的出路,看到一个方法,修改主题下的 header.php 文件,在 </head> 之前添加跳转代码:

  1. <?php  
  2. $the_host = $_SERVER[‘HTTP_HOST’]; //取得进入所输入的域名  
  3. $request_uri = isset($_SERVER[‘REQUEST_URI’]) ? $_SERVER[‘REQUEST_URI’] : “”//判断域名后面的请求部分  
  4. if ($the_host != ‘http://www.classnotes.cn’) //http://bl.idcspy.org是新域名  
  5. {  
  6.     header(‘HTTP/1.1 301 Moved Permanently’); //发出301状态码  
  7.     header(‘Location: http://www.classnotes.cn’ . $request_uri); //跳转到我的新域名地址  
  8.     exit();  
  9. }  
  10. ?>  
  11. <!–301代码结束–>  

开始因为参考网址的代码有问题,网址死掉了,由于临时有事,我也没管。过了大概一个小时,我把代码修改后,网址可以打开的时候,竟然能成功跳转了!从第三句可以看出,判断语句冒号后面根本没有内容,我只是放了个空引号子啊那里。但是网站首页、内页,所有网页正常跳转。谷歌测试、百度验证301跳转,直接通过。立马进行了搜索引擎的改版收录。现在就等收录完成然后把原域名关掉,置于哪里起作用,暂时还没法确定,先这样吧。

打赏
原文链接:,转发请注明来源!
STM

发表评论