10-03
12
IIS及PHP代码301自身域名重定向方法
作者:Java伴侣 日期:2010-03-12
一、windows服务器,iis6.0。301重定向方法
以本站为例,本站域名www.shenzhenwo.com,shenzhenwo.com,www.shenzhenwo.cn,shenzhenwo.cn
目标:将所有域名301跳转到www.shenzhenwo.com,好处我就不说了,绝对有利于SEO,所有域名的权重将集中在www.shenzhenwo.com这个域名上,包括PR,收录等等。
1、在IIS里网站(主站)的所有主机头删除,只留www.shenzhenwo.com这一个主机头
2、新建一个网站,暂且命名为ReURL,网站目录可以为空,将新建的这个网站的主机头设为 shenzhenwo.com,www.shenzhenwo.cn,shenzhenwo.cn这三个。
3、设置ReURL的属性,在“重定向到”一栏里面输入“http://www.shenzhenwo.com$S$Q”,然后在“上面输入的准确URL”和“资源的永久重定向”两个选项前面打钩,最后点应用,就此301重定向全部设置完成。
4、二级域名的设置方法也跟上面步骤一样,如要将www.shenzhenwo.com/bbs 301转向为bbs.shenzhenwo.com。也许你会说我直接设置个二级域名就可以了,但是搜索引擎会认为www.shenzhenwo.com/bbs/1.htm 和bbs.shenzhenwo.com/1.htm是两个不同的页面,但事实上这两个页面是一样的,因此会分散这个页面的权重。
---------------------------重定向的参数说明--------------------------
$S-将请求的 URL 的后缀传递给新的 URL。
后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。
如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
$P-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,不包括问号 (?)。
$Q-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号 (?)。
$V-传递请求的 URL,不包括服务器名和任何参数。要包含参数,可使用 $P 或 $Q 变量及 $V 变量。如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
参数还有很多,基本上最常用的就是$S和$Q,任意网址想要实现301的永久重定向只需设置$S和$Q就可以了。
二、虚拟主机的301重定向方法,以PHP为例。
在最先执行的页面上面加入以下代码:
以下代码功能是,将www.kangshunlaw.com跳转到kangshunlaw.com
------------------------------------------------------------------
------------------------------------------------------------------
需要说明的是,这个代码只能实现当前页面的跳转(也就是加了代码的这个页面的跳转)。
要实现整站的跳转,则需在服务器上设置。
另外在网络上看到很多以下代码的跳转方式:
-------------------------------------------------------
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.kangshunlaw.com/");
exit();
-------------------------------------------------------
其实这种方式是不对的,没有做头部判断造成死循环。
这种方式只适合从A域名跳转到B域名,比如你帮网站换了个新域名。要实现带www和不带www之间的跳转则需用第一段代码。
另附301重定向检测地址:http://www.ranknow.cn/tools/redirectcheck
以本站为例,本站域名www.shenzhenwo.com,shenzhenwo.com,www.shenzhenwo.cn,shenzhenwo.cn
目标:将所有域名301跳转到www.shenzhenwo.com,好处我就不说了,绝对有利于SEO,所有域名的权重将集中在www.shenzhenwo.com这个域名上,包括PR,收录等等。
1、在IIS里网站(主站)的所有主机头删除,只留www.shenzhenwo.com这一个主机头
2、新建一个网站,暂且命名为ReURL,网站目录可以为空,将新建的这个网站的主机头设为 shenzhenwo.com,www.shenzhenwo.cn,shenzhenwo.cn这三个。
3、设置ReURL的属性,在“重定向到”一栏里面输入“http://www.shenzhenwo.com$S$Q”,然后在“上面输入的准确URL”和“资源的永久重定向”两个选项前面打钩,最后点应用,就此301重定向全部设置完成。
4、二级域名的设置方法也跟上面步骤一样,如要将www.shenzhenwo.com/bbs 301转向为bbs.shenzhenwo.com。也许你会说我直接设置个二级域名就可以了,但是搜索引擎会认为www.shenzhenwo.com/bbs/1.htm 和bbs.shenzhenwo.com/1.htm是两个不同的页面,但事实上这两个页面是一样的,因此会分散这个页面的权重。
---------------------------重定向的参数说明--------------------------
$S-将请求的 URL 的后缀传递给新的 URL。
后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。
如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
$P-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,不包括问号 (?)。
$Q-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号 (?)。
$V-传递请求的 URL,不包括服务器名和任何参数。要包含参数,可使用 $P 或 $Q 变量及 $V 变量。如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
参数还有很多,基本上最常用的就是$S和$Q,任意网址想要实现301的永久重定向只需设置$S和$Q就可以了。
二、虚拟主机的301重定向方法,以PHP为例。
在最先执行的页面上面加入以下代码:
以下代码功能是,将www.kangshunlaw.com跳转到kangshunlaw.com
------------------------------------------------------------------
复制内容到剪贴板 程序代码
<?php
$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面
if($the_host == 'www.kangshunlaw.com')//这是我要更正的域名地址
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: http://kangshunlaw.com'.$request_uri); //跳转
}
?>
$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面
if($the_host == 'www.kangshunlaw.com')//这是我要更正的域名地址
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: http://kangshunlaw.com'.$request_uri); //跳转
}
?>
------------------------------------------------------------------
需要说明的是,这个代码只能实现当前页面的跳转(也就是加了代码的这个页面的跳转)。
要实现整站的跳转,则需在服务器上设置。
另外在网络上看到很多以下代码的跳转方式:
-------------------------------------------------------
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.kangshunlaw.com/");
exit();
-------------------------------------------------------
其实这种方式是不对的,没有做头部判断造成死循环。
这种方式只适合从A域名跳转到B域名,比如你帮网站换了个新域名。要实现带www和不带www之间的跳转则需用第一段代码。
另附301重定向检测地址:http://www.ranknow.cn/tools/redirectcheck
评论: 0 | 引用: 0 | 查看次数: 466
发表评论