301重定向就是HTTP协议中的应答状态301 Moved Permanently。当你的网站更换地址后,应当在原地址上写个程序返回301,以便让访问者能够知道你更换了地址,也让搜索引擎能迅速地收录新地址。如果我们把一个地址采用301重定向方式跳转的话,搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。
下面是使用各种语言返回301的方法。调试时可使用Firefox + Tamper Data插件,也可以用IE的ieHTTPHeaders插件。
ASP
直接调用Response.Redirect函数会返回302 Object Moved。为了返回301,我们需要手工设置信息。
<%@ Language=VBScript %>
<%
Response.Status = “301 Moved Permanently”
Response.AddHeader “Location”, “http://www.inspiremedia.org/”
Response.End
%>
PHP
简单地调用 header() 函数输出头信息即可。
<?php
header(“301 Moved Permanently”);
header(“Location: http://www.inspiremedia.org/”);
?>
Perl
#!/usr/bin/perl -w
print “Status: 301 Moved Permanentlyn”;
print “Location: http://www.inspiremedia.org/nn”;
mod_rewrite
如果你使用Apache,那么用mod_rewrite进行重定向是最简单的选择了,只要在 httpd.conf 的全局配置或者虚拟主机配置中写一条规则即可。
RewriteEngine On
RewriteRule ^/(.*) http://www.inspiremedia.org/$1 [R=permanent,L]
注意一定要使用 [R=permanent] 选项,仅用 [R] 选项会返回 302 。