或者

【虚拟主机篇】PHP页面实现301重定向方法

作者:一抹浅笑 浏览:112 发布时间:2017-08-28
分享 评论 0

【虚拟主机篇】PHP页面实现301重定向方法 

<?php

$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名

$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ”;//判断地址后面部分

 if($the_host !== ’www.uiseo.cn’)//判断域名是否为新域名

{

header(‘HTTP/1.1 301 Moved Permanently’);//发出301头部

header(‘Location: http://www.uiseo.cn’.$request_uri);//跳转到我的新域名地址

}

?>

其中if($the_host !== ‘www.uiseo.cn‘)中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,就可以将以前的域名,包括pciso.cn、www.pciso.cn 以及新域名中uiseo.cn全部重定向到www.uiseo.cn。还可以写成:if($the_host == ‘www.pciso.cn’)。

需要说明的是,这个代码只能实现当前页面的跳转(也就是加了代码的这个页面的跳转)。要实现整站的跳转,则需在服务器上设置。


301重定向实现步骤:


将这个代码放到你所有网页的最前面:

1.直接调用,把以上代码复制到一个新文件内,起名为***.php(如:301.php)。在网页文件中调用301.php,调用代码为:<?php include(“301.php”); //301跳转 ?>

2.把以上代码直接添加到页面中。


好了,301重定向就做好了,将301文件上传到网站目录,就可以去看着你的成果了,此时你的php网站实现永久性301重定向。


重定向的参数说明:


$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就可以。