两个相同目录结构的网站-所有页面301跳转
作者:matrix 被围观: 3,554 次 发布时间:2011-09-12 分类:Wordpress 兼容并蓄 零零星星 | 2 条评论 »
我也曾经遇到过你们这样的问题。从旧网站搬迁到新网站,文件目录都没改变只是域名变了。
例如我的:
网站从hhtjim.com.nu搬到了hhtjim.com 都一模一样的WordPress。
如果仅仅是对某个页面进行301跳转,其实很简单,只要在PHP页面的头部输入下面的代码就可以。
<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://hhtjim.com");
?>
这个对于更换了网址或者网站结构来说非常方便,但是如果针对很多页面那么这种跳转方式就不友好了,我们应该根据不同的页面跳转的不同的网址。
这个还可以实现比如hhtjim.com跳转到www.hhtjim.com上,也就是让所有的页面都用带www的网址。
步骤一、在旧网站新建301.php(文件名自取)
<?php
$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
if($the_host !== 'www.hhtjim.com')//如果域名不是带www的网址那么进行下面的301跳转
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location:https://www.hhtjim.com'.$the_url);//跳转到带www的网址
}
?>
其中if($the_host !== 'www.hhtjim.com')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将hhtjim.com跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的www.hhtjim.com.
步骤二、在旧站网页文件中调用301.php(在头部添加以下代码即可)
<?php
include('301.php'); //301重定向 ?>
例如本人只是把旧网站的index.php中顶端的
<?php
改为了
<?php
include('301.php'); //301重定向 ?>
这样可以避免旧站的所有页面都得在头部加上 调用301.php 的代码。
记住位置别弄错了,该提行的就提行(当然这只是对我们这些新手的提醒,若是高手还请跳过这个提示),否则会出现一串串英文错误。
将这个代码放到你旧网站所有网页的最前面,或者跟我一样在index.pnp之中添加就行了,以免弄出差错也更省事一些。
步骤三、将301文件上传到旧网站根目录。
现在可以说是大功告成了!
测试一下:
打开:http://hhtjim.com.nu/ 跳转到了 http://hhtjim.com/
http://hhtjim.com.nu/wap.html 跳转到了 http://hhtjim.com/wap.html
http://hhtjim.com.nu/13.html 跳转到了 http://hhtjim.com/13.html
OK! 终于解决了!
ps:13-04-15 可以试试添加到.htaccess:
RewriteEngine on
RewriteRule ^(.*)$ https://www.hhtjim.com/$1 [R=301,L]
😯
自己支持一个!