写给哪些不懂得301 的人
时间:2010-09-11 来源:scottlinn
写给哪些不懂得301 的人,如有不正确请帮忙改正谢谢!
怎样做301重定向页面?
(1)如果你用的是Unix/Linux主机,可以用.htaccess文件(Unix/Linux中用于目录特定指令如密码,网址转向<301>,错误处理<401,500>等的文件)。
比如把/old.htm转到http://www.domain.com/new.htm,可以在.htaccess文件中加入这个指令:
redirect 301 /old.htm http://www.domain.com/new.htm
或
redirect permanent /old.htm http://www.domain.com/new.htm
如果要把所有http://domain.com形式的URL用301重定向转到 http://www.domain.com,包括:
http://domain.com/about.htm 转到 http://www.domain.com/about.htm,及 http://domain.com/dir/index.htm 转到 http://www.domain.com/dir/index.htm 等等,则还要用到mod_rewrite:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
(2)如果你用的是 Windows主机,应该在控制面板做301重定向设定。
HTML无法做301转向。HTML重定向 只能做JS或META REFRESH,但不是301转向。HTML一被读取,就已经返回200 OK状态码。
ASP 301重定向
在asp文件头加入:
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.domain.com”
>
PHP 301重定向:
<?php Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.domain.com” );
?>
JSP 301重定向:
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.bokee.net/" );
response.setHeader( "Connection", "close" );
%>
ASP .NET环境下的301 重定向:
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e )
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”http://news.msn.com”);
}
</script>
CGI Perl环境下的301 重定向:
$q = new CGI;
print $q->redirect(”http://news.msn.com/”);
注意: .htaccess文件只是一个普通文字文件,你可以先新建一个文件名为.htaccess.txt的TXT文本文档,写入指令后,将后面的.txt去掉,上传到你网站的根目录下就可以,不需要再修改Apache设置。
301状态码在线测试工具: