一、. 重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
二、
1.网站调整(如改变网页目录结构);
2.网页被移到一个新地址;
3.网页扩展名改变(如应用需要把.php改成.Html或.shtml)。
这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问
这些域名的用户自动跳转到主站点等。
三、常用的重定向方式有:
301 redirect-----永久性转移
302 redirect-----暂时性转移
四、Apache服务器实现301重定向
相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
Redirect permanent / http://www.bloghuman.com/ (将目录下内容重定向到http://www.bloghuman.com/ )
redirect permanent /index.php http://www.bloghuman.com/index.php?go=category_6(将网页index.php重定向到http://www.bloghuman.com/index.php?go=category_6)
通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考本站Apache手册。
PHP下的301重定向
<?php
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: http://www.bloghuman.com" );
?>
ASP下的301重定向
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.bloghuman.com"
%>
ASP .NET下的301重定向
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader ("Location","http://www.bloghuman.com");
}
</script>
ColdFusion下的301重定向
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.new-url.com">