现在的位置: 首页 > 互联网络 > 博客心语 > 正文

教你利用.htaccess实现网页重定向

2012-08-29 21:20 博客心语 ⁄ 共 1682字 ⁄ 字号 暂无评论

    在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或 者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让 访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等 等。

    常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
 
o 301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
 
o 302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩 罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
 
o meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。
 
这里我们主要谈谈如何通过301 Redirect实现网页重定向
 
IIS服务器实现301重定向
 
* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键
* 选中“重定向到URL”
* 在对话框中输入目标页面的地址
* 切记,记得选中“资源的永久重定向”
* 当然,最后要点击“应用”
 
Apache服务器实现301重定向
 
    相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
 
Redirect permanent /zhibo  http://qiusuoge.com/TV ;    将zhibo目录下内容重定向到http://qiusuoge.com/TV
redirect permanent /old.html   http://qiusuoge.com ;    将网页old.html内容重定向到http://qiusuoge.com
 
注意:前面一个参数使用相对路径,也可以使用目录名,后一个参数必须填写完整网址。这样才能生效,并且不出错误。在SEO中,搜索引擎也很快就会按照你的设置,将收录的网页更新。
 
通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。
 
其他方法还有:
 
PHP下的301重定向
 
<? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://qiusuoge.com " );?>
 
ASP下的301重定向
 
<%@ Language=VBScript %>
<% Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ”http://qiusuoge.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://qiusuoge.com ”);
}
</script>
 
配置完成后,要认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker

给我留言

留言无头像?