先来个形象的描述:
新站初始,很多站长都会将不带3w的网址转向带3w的网址,这样做的好处方面是提升用户体验(网民已经习惯在域名签名输入www),再者将不带3w的网址转向带3w的网址将网站权重全部集中到带3w的域名,这样更有利于排名。
上面说的跳转就是采用301重定向,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.jb200.com’)//把这里的域名换上你想要的
{
header(‘HTTP/1.1 301 Moved Permanently’);//发出301头部
header(‘Location: http://www.jb200.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重定向
第一步、建立tiaozhuan.asp内容如下:
复制代码 代码如下:
<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.jb200.com/index.html”
Response.End
%>
将tiaozhuan.asp上传到网站根目录,并在虚拟主机控制面板将tiaozhuan.asp添加到默认首页最前面!
3.ASP .NET下的301重定向
复制代码 代码如下:
//判断是否是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.jb200.com/”); HttpContext.Current.Response.End(); }
注意,以上代码只适合动态网站,静态无效!