欢迎您加入19站目录库!网站推广流程:注册会员 -> 提交网站 -> 快速审核 -> 带来无限流量和外链。( 点入和点出一次可获排名第一位!
数据统计:136个主题分类,5423个优秀站点,20个站点正在排队审核,882篇站长资讯
网站快速审核:免费请联系: 点击这里给我发消息
当前位置:19站目录库 » 站长资讯 » 网站帮助 » 使用帮助 » 文章详细 订阅RssFeed

详解301重定向及实现方法

来源:本站原创 浏览:1301次 时间:2021-09-17


一、什么是301重定向

  301重定向(或叫301跳转、301转向)是用户或搜索引擎蜘蛛向网站服务器发出访问请求时,服务返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。其他常见的状态码还包括:200(表示一切正常);404(网页不存在);302(临时性转向);500 (内部程序错误);

  除了301转向,网址转向还有其他方法,如302转向、JavaScript转向、PHP/ASP/CGI程序转向、Meta Refresh等。

  301重定向对搜索引擎优化具有不可替代的作用。用301重定向巩固规范版本的URL,重拾权重,防止搜索结果的重复内容。从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。

二、什么情况下使用301重定向

  网站改版经常需要用到301重定向:如网站更换域名,改变网页目录结构,网页被移到一个新地址,网页扩展名改变,如因需要把 .php 改成 .html。在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失。使用301重定向不仅能使页面实现自动跳转,告诉用户你已经换了新的网址了。同时也告诉搜索引擎,这个才是真正的网址,搜索引擎只对重定向后的新网址进行索引,同时又会把旧地址权重如数转移到新地址下,从而不会让网站的排名因为网址变更而受到影响。

  一个网站注册了多个域名,需要通过301重定向让访问这些域名的用户自动跳转到其中一个主域名。这样做是为了避免造成大量复制内容,而遭到搜索引擎惩罚。因为在搜索引擎看来,每个域名都是一个独立的站,多个域名指向同一站,会被认定为站点雷同,内容复制,轻则不收录进入沙盒期,重则直接被K。

  实现网址规范化也需要301重定向

  假设有下面几个网址:

  http://www.19zh.com/index.html

  http://19zh.com

  http://19zh.com/index.html

  都做301重定向到 http://www.19zh.com(选定的规范化网址),搜索引擎就知道http://www.19zh.com 是规范化网址,而且会把上面列的网址权重传递集中到规范化网址。

  目前Google会传递大部分权重,但不是百分之百权重。百度会传递所有权重。Google对301的识别、反应、完成权重传递,需要1~3个月时间。百度对301处理则比较保守,新旧URL会同时存在于数据库很长时间。

三、Apache服务器实现301重定向

  如果网站使用LAMP(Linux + Apache + MySQL + PHP)主机,可以利用Apache的mod_rewrite对URL进行重写或重定向。需要以下几步:

  1、首先确保开启了mod_rewrite功能。

  用文本编辑器打开Apache安装目录\conf\httpd.conf,找到“#LoadModule rewrite_module modules/mod_rewrite.so”这行,去掉前面的“#”;

  继续查找“AllowOverride None”,修改为“AllowOverride All”;

  然后,重启Apache即可。

  2、在你需要URL重定向的网站根目录下放一个.htaccess文件,文件名是.htaccess,Windows下不能直接建立,你可以用记事本另存为。

  3、在.htaccess中通过正则表达式重定向到需要的页面。示例如下:

  将不带www的顶级域名301重定向到带www的域名

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^19zh.com [NC]
    RewriteRule ^(.*)$ http://www.19zh.com/$1 [L,R=301]

  将页面301重定向到另外一个页面

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301]

四、IIS服务器下做301重定向设置方法

  示例:将19zh.com 跳转到 www.19zh.com

  1、新建一个站点,对应目录如d:\site。该站点主要用于转向,目录可以是空的,不需要任何文件。然后为该站点绑定要跳转的域名19zh.com,如图:

  2、在IIS中选中刚才我们建立的站点,右键,属性,主目录,选择重定向到,输入另一个绑定好www.19zh.com 域名的网站地址(这个网站下存放有网站内容)。输入的地址是:http://www.19zh.com$S$Q,同时注意选中下面的"资源的永久重定向选项" 和 “上面输入的准确URL” 这2个选项。如下图:

  对于$S$Q字符,这里解释一下:

  $S 将请求的URL的后缀传递给新的URL。后缀是用重定向的URL 代替之后,初始URL 中所保留的部分。

  如果未选中 "上面输入的准确URL" 选项,则结果目标URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。

  $Q 将初始URL中的参数(如 querystring 参数)传递至新的 URL,包括问号(?)。

  如果不加上 $S$Q 字符的话,内页的301都会跳转到首页,加上$S$Q字符的目的就是内页也能准确的跳转到新域名的对应内页。

  好了,这样就完成了301永久重定向的设置,设置好之后最好能测试一下301重定向是否成功。站长工具的HTTP状态工具(http://tool.chinaz.com/pagestatus/)即可查到,如果查到的返回状态是301就说明你已经成功了。

五、使用ISAPI_Rewrite实现IIS的301重定向

  ISAPI_Rewrite是用于IIS的第三方URL重写组件。它是基于正则表达式的,类似Apache mod_rewrite功能,不仅可以实现URL重写,还可以实现301重定向。

  ISAPI_Rewrite组件有免费版(Lite)以及商业版(Full),免费版只支持全局httpd.conf 配置,不能对每个站点进行单独设置,而商业版可以让每个站点自定义URL重写规则,只要将httpd.ini 放在站点根目录下就能生效。

  请使用 ISAPI_Rewrite 2.x 或者 最新的3.0 版本(它兼容Apache的mod_rewrite的语法),而较早的1.x 版本不支持301重定向功能。

  下面给出示例:

  1. 将不带www的顶级域名301重定向到带www的域名

# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^19zh\.com$
RewriteRule (.*) http://www.19zh.com$1 [I,RP]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond %{HTTP:Host} ^19zh\.com$
RewriteRule (.*) http://www.19zh.com$1 [NC,R=301]

  2. 不同域名之间的301转向

# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host ^www\.test10000\.com$
RewriteRule (.*) http://www.19zh.com$1 [I,RP]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond %{HTTP:Host} ^www\.test10000\.com$
RewriteRule (.*) http://www.19zh.com$1 [NC,R=301]

  3. 将页面301重定向到另外一个页面

# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^/oldpage.html$ /newpage.html[I,O,RP,L]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301,O]

六、在网页后台程序中实现301重定向

  如果页面是ASP/PHP/JSP/ASP.NET 可以再后台代码中做301重定向。

  但是我个人不推荐这样,因为在服务器上做301跳转是在你的页面执行之前就开始跳转,效率高。而程序代码中做301,要为每个页面头部加转向代码,比较麻烦。

  示例如下:

  1、PHP下的301重定向

<?
  Header("HTTP/1.1 301 Moved Permanently");
  Header("Location: http://www.19zh.com");
?>

  2、ASP下的301重定向

<%@ Language=VBScript %>
<%
  Response.Status = "301 Moved Permanently"
  Response.AddHeader "Location", "http://www.19zh.com"
%>

  3、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.19zh.com");
}
</script>

  4、JSP下的301重定向

<%
  response.setStatus(301);
  response.setHeader("Location", "http://www.19zh.com");
  response.setHeader("Connection", "close");
%>

  提示:如果返回报头中只有Location,但没有明确提到状态代码时,就意味着一个302临时重定向。请谨记于心。例如下面都是302重定向:

  PHP 下的302重定向

<?
   php header("Location: http://www.19zh.com");
?>  

  Asp 下的302重定向

<%
   Response.Redirect "http://www.19zh.com/"
%>

  ASP.NET 302重定向

<script runat="server">
  private void Page_Load(object sender, System.EventArgs e)
  {
     Response.Redirect("http://www.19zh.com");
  }
</script>

  JSP 下的302重定向

<%
    response.sendRedirect("http://www.19zh.com");
%>

  总结:301重定向是一种对搜索引擎最友好的网址转向方法。在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。无论是URL永久性改变,还是多种格式URL规范化都离不开301重定向。

版权声明:
1、本文内容由网友自发贡献,版权归原作者所有。
2、本站仅提供文章发布平台,文章的内容与本站无关,请真伪自辩,本站不承担相应法律责任。
3、如果发现本站有涉嫌抄袭侵权的内容,欢迎举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
4、转载请注明本文地址:http://www.19zh.com/artinfo/498.html

推荐站点

  • 自学ps教程网自学ps教程网

    分享原创ps图文教程:从新手零基础入门ps教程,到ps设计实战经验,以及很多网友要学的ps抠图教程,都会通过图文的方式,展示给大家,用简洁的语言,到位的图示,让您轻松查阅,快速get到要点,新知识、新图例,尽在taoxuemei.com!

    www.taoxuemei.com
  • 189d下载网189d下载网

    189d下载网是一个资源下载中心,为用户提供最新的手机游戏下载、最好用的安卓app下载,以及各种最新的电脑软件和单机游戏的免费下载,还有各种热门游戏的攻略和软件使用教程。

    www.189d.com
  • 全球工厂网全球工厂网

    全球工厂网是专注企业信息化的综合电子商务服务平台,汇集各行业供求信息,为客户提供高标准的一站式服务

    https://www.gc1288.com/
  • 38健康网-专业女性健康知识网站38健康网-专业女性健康知识网站

    38健康网(www.ni38.com)专业的女性健康网站,提供女性健康小常识、心理健康、生理健康、亚健康、女性保健、女性孕育、健康食谱、妇科疾病等的综合女性健康网站.

    www.ni38.com
  • 1080影视大全1080影视大全

    【1080影视大全】为您提供好看的电影、全新电视剧、全新动漫、全新综艺节目排行榜,免费在线观看lunli电影、动作片、 喜剧片、爱情片、搞笑片等全新电影,更多电影高清在线观看尽在1080影视大全(www.ki65.com)。

    www.ki65.com
  • 简书简书

    简书是一个优质的创作社区,在这里,你可以任性地创作,一篇短文、一张照片、一首诗、一幅画……我们相信,每个人都是生活中的艺术家,有着无穷的创造力。

    www.jianshu.com
Powered by 19站目录F2.02021版 官方网站:19站目录库
Processed in 0.147189 second(s), 22 Queries, Gzip Enabled