本节内容:
二级目录301重定向到二级域名的两种办法。
一般在网站权重较低时,要建子站,都是放在二级目录中。
比如SEO朋友喜欢在二级目录建博客或论坛,好处是可以继承主站的权重。
当网站足够强大了,就可以放到二级域名或其它新域名。
对于搜索引擎来说,二级域名就是新域名,以一个新的站点来看待。
如何保证转移后有效继承原来的权重不被降权?最好的办法就是做301。
本文介绍二级目录301重定向到二级域名的两种方法,有需要的朋友参考下。
一、.htaccess 文件代码法
此方法只合适apache/ target=_blank class=infotextkey>apache服务器,支持rewrite伪静态。
直接在.htaccess 文件中增加如下的一段规则:
复制代码 代码示例:
RewriteEngine On
RewriteBase /
Redirect permanent /你的目录地址 http://bbs.jb200.com/
规则注释:
当访问(/你的目录地址)原程序子目录时,自动重定向到二级域名http://bbs.jb200.com/,或另外的新域名(请把域名网址修改成自己的)。
二、php文件代码法
在php代码中实现php 301跳转的方法。
编写301.inc.php文件,在网站根目录创建一个 301.inc.php 文件,添加:
复制代码 代码示例:
<?php
/**
* 301重定向
* by www.jb200.com
*/
$the_host = $_SERVER['HTTP_HOST']; //取得当前访问域名
$url = $_SERVER['PHP_SELF']; //获取域名后的字串,如:/bbs/index.php
$filename= substr( $url , strrpos($url , '/')+1 ); //提取当前文件名
$querystring = $_SERVER["QUERY_STRING"]; //获取问号后面的参数
if ($the_host !== 'bbs.jb200.com') //验证当前访问域名(就是你的新域名):若非引号内的域名,则进行如下跳转——
{
if ($querystring !== '') //验证文件名后是否有参数,如果有参数则跳转到——
{
header('HTTP/1.1 301 Moved Permanently'); //发出301头部,表明永久重定向
header('Location: http://bbs.jb200.com/'.$filename.'?'.$querystring); //跳转到我的新域名地址【带参数】
}
elseif ($filename == 'index.php') //主页则直接跳转到新域名
{
header('HTTP/1.1 301 Moved Permanently'); //发出301头部,永久重定向
header('Location: http://bbs.jb200.com/'); //跳转到新域名
}
else //如果无参数则跳转到——
{
header('HTTP/1.1 301 Moved Permanently'); //发出301头部,表明永久重定向
header('Location: http://bbs.jb200.com/'.$filename); //跳转到新域名地址【不带参数】
}
}
?>
保存后,上传网站根目录。
注意:代码中的二级域名bbs.jb200.com替换为你的域名。
在PHP页面增加跳转,在每一个需要跳转的PHP页面的 <?php 下面加一行代码实现301跳转:
include("301.inc.php"); //301重定向
刷新后,即可测试效果了。
以上介绍了二种实现php 301重定向的方法,希望对大家有所帮助。