301重定向是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。301重定向主要是将需要转移的网址重定向另一个新的网址上,并且是永久性转移。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而受到丝毫影响301重定向无疑是最佳的办法。
301重定向的方法有很多,这里整理了如何用程序做301永久重定向的一些常见方法供大家参考
1.PHP下的301重定向
<?php
$the_host = SERVER['HTTP_HOST'];//取得当前域名
$request_uri = isset(SERVER['REQUEST_URI']) ? SERVER['REQUEST_URI'] : ”;//判断地址后面是否有参数
if($the_host != ‘www.xxxxxx.com’)//把这里的域名换上你想要的
{
header(‘HTTP/1.1 301 Moved Permanently’);//发出301头部
header(‘Location:http://www.xxxxxx.com’.$request_uri);//跳转到你希望的地址格式
}
?>
下面方法适用于dedecms, 此方法解决了301跳转带来的index.html尾巴的问题,有兴趣的可以试试看。
<?
$jump301=1;//是否开启301跳转开关,1开 0关
$index_file=’index.html’;//首页文件 不支持SSI(shtml/shtm)
if(substr(SERVER['SERVER_NAME'],0,4)!=’www.’&&$jump301)
{
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location:http://www.’.SERVER['SERVER_NAME']);
exit();
}
?>
根据自己程序将以上代码添加到根目录index.php文件中!
2.ASP下的301重定向
第一步、建立301.asp内容如下:
<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.xxxxxx.com/index.html”
Response.End
%>
将301.asp上传到网站根目录,并在虚拟主机控制面板将301.asp添加到默认首页最前面!
3.ASP .NET下的301重定向
在index.aspx中写入如下代码并上传空间。
//判断是否是www.开头,如果不是301调整到www.域名
if (!System.Web.HttpContext.Current.Request.Url.ToString().StartsWith “http://www.”)) {
//301 重定向到 /目录下
HttpContext.Current.Response.StatusCode = 301;
HttpContext.Current.Response.Status = “301 Moved Permanently”;
HttpContext.Current.Response.AddHeader(“Location”,“http://www.xxxxxx.com/”);
HttpContext.Current.Response.End();
}
//注意,以上代码只适合动态网站,静态网站无效!
关于网站如何用程序做301永久重定向,就说这么多,301永久重定向其他方法还有很多,有兴趣可以自己网上找下。