ASP\PHP网站全站301重定向怎么做
全站301与首页301重定向的区别
在之前的建站教程中,我们介绍过如何给网站做301重定向,这是一种网站首页重定向的方法,只能将网站首页重定向到另一个地址,而其它的内页是无法转向的。
而全站301重定向是将网站的所有页面都一次性重定向到另一个地址,保证了网站中已被收录的网页的权重的转移,做了全部301重定向后,老网站所有页面的http返回码都为301.
全站301重定向方法
不同的建站程序语言实现全站301重定向的方法是不一样的。【如果你的空间是LINUX空间,可以直接使用通HTACCESS文件更方便的做全站301重定向,方法见:网站更换域名如何做全站301重定向。】
ASP程序网站全站301重定向:
<%
Dim url
Dim Num
If request.ServerVariables("HTTP_HOST")<>"www.xuewangzhan.net" Then
If Request.ServerVariables("Script_Name")<>"" Then
Num=Len(Request.ServerVariables("Script_Name"))-11
If right(Request.ServerVariables("Script_Name"),11)<>"default.asp" Then
url = "https://www.xuewangzhan.net"&Request.ServerVariables("Script_Name")&"?"&Request.ServerVariables("Query_String")
Else
url = "https://www.xuewangzhan.net"&left(Request.ServerVariables("Script_Name"),Num)
End If
Response.Status="301 Moved Permanently"
Response.AddHeader "Location",url
Response.End
Else
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","https://www.xuewangzhan.net/"
Response.End
End If
End If
%>
可以将以上代码加到网站引用的公用文件(如:con.asp、config.asp)代码上方即可,将代码中的www.xuewangzhan.net改为你自己网站的域名。
PHP程序网站全站301重定向:
<?php
$the_host = $_SERVER['HTTP_HOST'];//取得当前域名
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
$the_url = strtolower($the_url);//将英文字母转成小写
if($the_url=="/index.php")//判断是不是首页
{
$the_url="/";//如果是首页,赋值为“/”
}
if($the_host !== 'www.xuewangzhan.net')//如果域名不是带www的网址那么进行下面的301跳转
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location:https://www.xuewangzhan.net'.$the_url);//跳转到带www的网址
}
?>
或者使用以下的代码:
<?php
$the_host = $_SERVER['HTTP_HOST'];
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
$the_url = strtolower($the_url);
$pos = strpos($the_url, "-");
if($pos !== false)
{
header('HTTP/1.1 301 Moved Permanently');
header('Location:https://www.xuewangzhan.net/baike'.$the_url);
}
?>
将以上的代码用PHP标签<?php ?>包起来,加到自己网站模板的头部模板(header.php)的上方,将https://www.xuewangzhan.net改成你自己网站的域名。