二级目录301重定向到二级域名的两种方法


  本文标签:二级目录,301重定向,二级域名

一般在网站权重还不足够高时,要建子站的话,都是放在二级目录里面 。比如SEO朋友喜欢在二级目录建博客或论坛,好处是可以继承主站的权重 。当网站足够强大了,就可以放到二级域名或者其他新域名 。

对于搜索引擎来说,二级域名就是新域名,以一个新的站点来看待 。如何保证转移后有效继承原来的权重不被降权?最好的办法就是做301 。下面具体介绍二级目录301重定向到二级域名的两种方法:

一、.htaccess 文件代码法

这种方法只合适apache服务器,支持rewrite伪静态 。直接在.htaccess 文件中增加这样一段规则:

复制代码
代码如下:

RewriteEngine On
RewriteBase /
Redirect permanent /你的目录地址 http://bbs.dananjie.com/

规则注释:当访问(/你的目录地址)原程序子目录的时候,自动重定向到你的二级域名http://bbs.dananjie.com/,或者另外的新域名(请把域名网址修改成自己的) 。

二、PHP文件代码法

编写301.inc.php文件

在网站根目录新建一个 301.inc.php 文件,写入以下代码:

复制代码
代码如下:

<?php
$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.dananjie.com) //验证当前访问域名(就是你的新域名):若非引号内的域名,则进行如下跳转——
{
if ($querystring !== ) //验证文件名后是否有参数,如果有参数则跳转到——
{
header(HTTP/1.1 301 Moved Permanently); //发出301头部,表明永久重定向
header(Location: http://bbs.dananjie.com/.$filename.?.$querystring); //跳转到我的新域名地址【带参数】
}
elseif ($filename == index.php) //如果是主页则直接跳转到新域名
{
header(HTTP/1.1 301 Moved Permanently); //发出301头部,表明永久重定向
header(Location: http://bbs.dananjie.com/); //跳转到我的新域名
}
else //如果无参数则跳转到——
{
header(HTTP/1.1 301 Moved Permanently); //发出301头部,表明永久重定向
header(Location: http://bbs.dananjie.com/.$filename); //跳转到我的新域名地址【不带参数】
}
}
?>

保存后,上传网站根目录 。

注:代码中的二级域名bbs.dananjie.com替换为你的域名 。

PHP页面增加跳转

在每一个需要跳转的PHP页面的 <?php 下面加一行代码实现301跳转:
include("301.inc.php"); //301重定向
刷新后,就可以测试效果了 。至于是哪些页面,要根据你用的程序来 。如Discuz 论坛通常需要跳转的是以下几个页面:

index.php,forum.php,home.php,group.php,member.php,portal.php,space.php