301重定向:
你的网站在做域名解析时,经常会解析2个域名,即带www的和不带www的。
这样做的目的是,当用户使用不带www的域名时,也经常正常访问你的网站,但
是这样做的后果是,你站点主域名的pr值分散到其他的几个URL上了。因为在搜
索引擎看来,带www和不带www的URL是2个完全不同的URL,当它们指向同一个网
站时,会让搜索引擎不懂应该选择哪一个URL作为主要的域名。如果使用301重定
向把其他几个URL如baidu.com转到www.baidu.com时,相应的pr也就集中在主域
名:www.baidu.com上了。
301重定向的方法:
一、设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持)
使访问seo.net/的时候就会自动转到www.seocs.net
在.htaccess文件里写上以下代码即可。
代码:
RewriteEngine on
RewriteCond %{http_host} ^seo.net[NC]
RewriteRule ^(.*)$ http://www.seocs.net/$1[L,R=301]
注意:
URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前
二、适用于使用Unix系统的用户
通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。
形如:Redirect 301 / http://www.bai.com
以下为引用的内容:
www.***.org
***.org
***.org/index.html
www.***.org/index.html
三、适用于使用windows系统的用户
在域名管理后台设置url转发,前面写上seocs.net不带www的,后面框里写上
www.seocs.net这种带www的域名,设置成显式转发。显式转发相当于301,隐式转发相当于
302,比较危险。
不过值得一提的是,因为URL转发和301概念不同,所以并不是所有的显式转发都是301
的,可以使用http://tool.alimama.com/tools.php提供的网站Header信息查询baidu.com
,如果返回代码有”HTTP/1.1 301 Moved Permanently”,那就是301的。我的是新网,新网
(xinnet)提供url显式转发是301的,我就使用了此方法。如果你是万网,又是windows主机
,那就用DNS别名解析吧。
<% if request.ServerVaniables(""HTTP_HOST)<>“www.你的域名”then
if Request.ServerVaniables(“SCRIPT_NAME”)=”/index.asp”then
Response.Status=”301 Moved Permanently”
Response.AddHeader”Location”,”www.你的域名”
else
if Request.ServerVariables(“QUERY_STRING”)<>“”then
p=”?”
else
p=””
end if
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.你的名”&Request.ServerVariables(“SCRIPT_NAME”)
&p&Request.ServerVariables(“QUERY_STRING”)
Response.End
end if
end if
%>
四、用ASP/PHP实现301重定向
ASP:
Response.Status=”301 Moved Permanently”
Response.AddHeader”Location”,”http://www.baidu.com/”
Response.End
PHP:
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location:http://www.baidu.com/”);
exit();