冰恋 发表于 2018-11-27 08:21:36

Apache中的重定向设置(Redirect 301)

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

页: [1]
查看完整版本: Apache中的重定向设置(Redirect 301)