`

状态码301和302

阅读更多

先简要说一下重定向就是网页自动转向重定向就是网页自动转向301永久性重定向
302临时性重定向
实施301后,新网址完全继承旧网址,旧网址的排名等完全清零。
实施302后,对旧网址没有影响,但新网址不会有排名。
详情见下文。
301 Redirect 永久重定向的实现
  在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
  常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
  301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
  302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术左臂,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
  meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。
    页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。
  301重定向可促进搜索引擎优化效果
  从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。
  302重定向可影响搜索引擎优化效果
  迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。
  综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。
  对于正确实施301重定向,本人整理了以下方法可供大家参考:
  1. Apache服务器实现301重定向
  a. 相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
  Redirect permanent /
http://www.yourdomain.com/” target=”_blank”>http://www.yourdomain.com ;将目录下内容重定向到http://www.yourdomain.com/” target=”_blank”>http://www.yourdomain.com/
  redirect permanent /old.html
http://www.yourdomain.com/” target=”_blank”>http://www.yourdomain.com/new-url/ ;将网页old.html内容重定向到http://www.yourdomain.com/” target=”_blank”>http://www.yourdomain.com/new-url/
  通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。
  b. 采用“mod_rewrite”技术。
  通过该技术进行的改变将在.htaccess文件中体现出来,形如:
  Options +FollowSymLinks
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^yourdomain\.com
  RewriteRule ^(.*)$
http://www.yourdomain.com/” target=”_blank”>http://www.yourdomain.com/$1 [R=301,L]
  2. 适用于使用Unix网络服务器的用户
  通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。
  形如:Redirect 301 /
http://www.yourdomain.com/” target=”_blank”>http://www.yourdomain.com/
  3.在服务器软件IIS服务器实现301重定向
  * 打开internet信息服务管理器,在欲重定向的网页或目录上按右键
  * 选中“重定向到URL”
  * 在对话框中输入目标页面的地址
  * 切记,记得选中“资源的永久重定向”
  * 当然,最后要点击“应用”
  适用于使用Window网络服务器的用户
  4.绑定/本地DNS
  如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
  DNS服务器的设置
  若要将aaa.domain.com指向
http://www.domain.com/,则只需在DNS服务中应增加一个别名记录,可写成:aaa IN CNAME http://www.domain.com/
  如需配置大量的虚拟域名,则可写成::* IN CNAME
www.domain.com. />
  这样就可将所有未设置的以domain.com结尾的记录全部重定向到
http://www.domain.com/上。
  5. 用ASP/PHP/.net实现301重定向:
  ASP:
  Response.Status=”301 Moved Permanently”
  Response.AddHeader “Location”,”
http://www.vc01.com/” target=”_blank”>http://www.vc01.com/”
  Response.End
  PHP:
  header(”HTTP/1.1 301 Moved Permanently”);
  header(”Location:
http://www.vc01.com/” target=”_blank”>http://www.vc01.com”);
  exit();
  ASP .NET:
  
  private void Page_Load(object sender, System.EventArgs e)
  {
    Response.Status = “301 Moved Permanently”;
    Response.AddHeader(”Location”,”
http://www.vc01.com/” target=”_blank”>http://www.vc01.com”);
  }
  
  配置完成后,要认真检查一下是否正确。Internet有很多Server Header检查工具
以下为非关键参考:
*************************************************
网站重定向成祸端(从Business.com遭封看302重定向编译:Karen)
  Business.com是网上最大的商业搜索引擎和分类目录,以专业提供商业信息而享负盛名,包括近19万网页。若以“business”为关键词在Google中进行搜索,该网站名列第一。不过在9月5日,Business.com遇到一件蹊跷之事:它的首页由PR8变成了PR0, 而且Google搜索结果中找不到首页。好在被“蒸发”的只是首页,不过庆幸的是第二天首页又回到了Google的搜索结果,但PR仍旧为0。
  Business.com的问题出在它的重定向命令上。该网站让business.com跳转到
http://www.business.com/,这种重定向本该是永久性的。我们知道,301属于永久性重定向,而302则属于临时性重定向,只有当一个网站或网页在24到48小时之内临时移到其它位置的情况下才能使用该命令。但Business.com却错误地使用了“HTTP/1.1302 Object Moved”状态码。
  其实网站重定向极为普遍,譬如不满意原来的域名而申请了一个新域名;买下容易被人错拼的域名,防止客户因为拼错URL而找不到网站,等等。可是,很多人却会由于使用了错误的重定向状态码而遭“灭站之灾”,就象Business.com。尽管他们的重定向理由充分合理,然而若使用不当,则可能被Google误认为是利用多个域名指向同一网站,那么你的网站就会被封掉,罪名是“利用重复的内容来干扰Google搜索结果的网站排名”。Business.com就是最好的前车之鉴。只不过大多数使用错误重定向参数的网站没Business.com这么幸运,一个小小的重定向就可能使网站前功尽弃,只能从头来过:重新申请新域名,重新发布新网站,等等。记住:Google绝不会同情任何人即使无心犯下的错误。
*************************************************
网站服务器响应网页浏览请求的运作流程
  让我们先来了解一下用户/搜索引擎和网站一开始的交互流程。当用户或搜索引擎向一个网站服务器发出网页浏览请求时,该服务器将:
  1.通过域名服务器(DNS)将域名转换为网站的IP地址,然后返回给客户
  2.打开一个该IP套接口连接
  3.记下通过该套接口的一个HTTP数据流
  4.从WEB服务器接收一个响应请求的HTTP数据流。该数据流包含状态码,状态码的值由HTTP协议所决定。  这里所说的“HTTP数据流”信息也叫“头信息(Header)”。头信息中包括了日期,服务器类型,通常还会有一条“200 OK”信息。如果一切良好,那么网络服务器就会将“200 OK”信息以及请求页面发送出去。如果网站在这时候已经建立了重定向,那么服务器就会在头信息中包含一个“302 Moved Temporarily”或“301 Moved Permanent”之类的响应信息。搜索引擎会根据服务器头信息中的内容作出决定。
*************************************************
网站重定向的注意事项
  1.若准备将服务器上的文件移到其它地方时,须就以下信息正确地通知搜索引擎的爬行程序:
- 目标地址:这些文件被移向何方
- 移动属性:暂时移走还是永久性移走
  2.对拥有多个域名的网站,专家建议应把那些不想在搜索引擎上推广的域名用301跳转命令来永久性重定向。
*************************************************
资深SEO专家Dan Thies的看法和建议
  对于Business.com所遭遇的问题Dan Thies深有体会,因为他也有过类似的遭遇。他的网站上有一个会员跟踪脚本,其中一个会员的站点通过302命令映射到这个跟踪脚本,而这个跟踪脚本又是通过302映射到他的主页。当在Google中用“keyword research”进行搜索,他的主页排名在前十位,然而地址显示的却是那个会员的网址。结果使他哭笑不得:访问者通过Google搜索结果进入他的网站,而他却不得不为这些访问量给那个会员支付报酬! 后来他用robots.txt文件禁止Spiders跟踪访问他的会员跟踪脚本才算解决了问题。
  对于Business.com,Dan Thies认为:“目前Google在302重定向”的处理上还存在一定的问题,但并不表示Google不允许302重定向。Business.com并未遭封或遭到惩罚,它们只是返回了错误的响应。”
  Dan Thies建议:如果使用了跟踪URL/脚本,又必须让访问者重定向到某一着陆页,那么一定要在robots.txt文件中禁止Spiders去访问第二个重定向。如果没有对跟踪URL/脚本进行重定向,而只是把另外一个URL上的内容给复制过来,那么应在robots.txt文件中禁止Spiders去访问跟踪URL,以防因内容重复而遭搜索引擎惩罚。引自:21cnbj:从Business.com遭封看302重定向
*************************************************
302转向与网址劫持
  302转向或者302重定向(302 redirect)指的是当浏览器要求一个网页的时候,主机所返回的状态码。302状态码的意义是暂时转向到另外一个网址。
  另一个更常见的状态码是404错误(404 error),404错误或404状态码指的是网页不存在。
  另一个和302状态码相关的是301重定向(301 redirect),301重定向指的是本网页永久性的转移到另外一个位置。301和302的区别就在于301是永久性重定向,302是暂时重定向。
  302重定向和网址劫持(URL hijacking)有什么关系呢?这要从搜索引擎如何处理302转向说起。从定义来说,从网址A做一个302重定向到网址B时,主机服务器的隐含意思是网址A随时有可能改主意,重新显示本身的内容或转向其他的地方。大部分的搜索引擎在大部分情况下,当收到302重定向时,一般只要去抓取目标网址就可以了,也就是说网址B。
  实际上如果搜索引擎在遇到302转向时,百分之百的都抓取目标网址B的话,就不用担心网址URL劫持了。
  问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。为什么呢?比如说,有的时候A网址很短,但是它做了一个302重定向到B网址,而B网址是一个很长的乱七八糟的URL网址,甚至还有可能包含一些问号之类的参数。很自然的,A网址更加用户友好,而B网址既难看,又不用户友好。这时Google很有可能会仍然显示网址A。
  由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因, Google搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B上的内容,这种情况就叫做网址URL劫持。你辛辛苦苦所写的内容就这样被别人偷走了。
  302重定向所造成的网址URL劫持现象,已经存在一段时间了。不过到目前为止,似乎也没有什么更好的解决方法。在正在进行的大爸爸数据中心转换中,302重定向问题也是要被解决的目标之一。从一些搜索结果来看,网址劫持现象有所改善,但是并没有完全解决。
  如果你遇到你自己的网站网址被劫持的时候, 作者: Zac原载: 搜索引擎优化每天一贴。
*************************************

分享到:
评论

相关推荐

    常见HTTP状态码(200、301、302、500等)解说

    301状态码表示资源已永久移动到新位置,而302状态码表示资源暂时从另一个URI响应请求。 4XX系列的状态码表示客户端请求有错误,可能是客户端的请求语法错误或者是请求无法被满足。401状态码表示客户端请求需要身份...

    常见的http状态码

    这类状态码表示请求已被成功接收、理解和接受。 - **200(成功)**:这是最常用的状态码,表示服务器已成功处理了请求。通常情况下,这意味着服务器提供了请求的网页。 - **201(已创建)**:表示请求已经被成功处理...

    HTTP状态码详解

    对于4XX状态码,通常需要检查请求参数和URL是否正确;5XX状态码则意味着服务器存在问题,可能需要排查服务器配置、代码错误或是资源不足等问题。通过合理的错误处理机制,如返回友好的错误信息,可以提升用户体验。 ...

    取HTTP状态码.rar

    通常,这些状态码用来重定向,如301(永久移动)和302(临时移动)。 4. 4xx(请求错误):这类状态码表示请求包含错误语法或者无法完成请求,例如400(坏请求)、401(未授权)和404(未找到)。 5. 5xx(服务器...

    HTTP状态码完整列表

    比如301(永久移动)用于告诉客户端请求的网页已永久转移到新地址,搜索引擎优化时会用到这个状态码来更新索引。302(临时移动)是临时重定向,303(查看其他位置)建议客户端使用GET方法访问新位置,304(未修改)...

    postman响应状态码

    通过理解这些状态码的意义,可以帮助开发者、测试人员和运维工程师更好地调试和优化网络应用程序。 #### 二、2xx 成功状态码 2xx系列状态码表示请求已成功处理,并被服务器接受。下面是具体的子状态码: - **200 ...

    静态页面跳转

    3. **HTTP状态码301和302**: 在服务器端,通过设置HTTP响应头的`Location`字段和相应状态码,可以实现页面跳转。301代表永久重定向,意味着搜索引擎和浏览器应记住新URL;302表示临时重定向,表示资源暂时移动到新...

    HTTP 状态码 大全

    ### HTTP状态码大全详解 ...它定义了一系列的状态码来表示服务器响应客户端请求的状态。本文将详细介绍HTTP状态码的各种类型...每一种状态码都有其特定的意义和用途,掌握它们有助于开发者更高效地调试和优化Web应用。

    http状态码详解.docx

    ### HTTP状态码详解 #### 一、概述 HTTP状态码是一种用于表示网页服务器对客户端请求响应状态的三数字代码。...通过深入学习并理解各种状态码及其应用场景,可以帮助开发者更高效地诊断和解决问题。

    http状态码汇总http网络

    在IT行业中,HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器...在实际开发中,我们需要根据返回的状态码调整请求策略,确保数据的正确传输和应用的正常运行。

    HTTP状态码表示意思

    HTTP状态码是网络通信中用来标识客户端与服务器之间交互情况的重要信息。这些状态码由三位数字组成,分为五类,分别表示...同时,正确设置重定向状态码(如301和302)对保持网站结构的稳定性和搜索引擎排名至关重要。

    HTTP状态码大全HTTP状态码大全

    ### HTTP状态码详解 ...掌握这些状态码对于理解和调试Web应用程序至关重要。在实际开发过程中,合理使用HTTP状态码能够帮助开发者更准确地表达客户端与服务器之间交互的结果,提高系统的可用性和用户体验。

    javaweb状态码全集.zip

    这些状态码对于理解Web应用程序的工作原理至关重要,特别是在排查错误和优化性能时。本资源"javaweb状态码全集.zip"包含了JavaWeb开发中可能遇到的所有HTTP状态码,旨在帮助开发者快速查询,无需频繁搜索引擎。 ...

    HTTP状态码.pdf

    ### HTTP状态码详解 HTTP状态码是Web服务器与客户端(如浏览器)通信的重要组成部分,用于指示请求的结果。...每个状态码都有其特定的含义和应用场景,正确理解和使用HTTP状态码对于开发健壮的网络应用至关重要。

    如何选择正确的HTTP状态码

    尽管在某些情况下,状态码可能看似无关紧要,如只使用200来表示所有成功的情况,但深入理解和正确使用状态码仍然非常重要。它能够帮助开发者和使用者更好地理解响应信息,处理错误,并且提供更为精细化的用户体验。 ...

    http状态码信息,详细描述了http各状态码的含义

    这些状态码分为五大类,每类都对应着特定的含义和应用场景。 100-199的范围是临时响应,主要用于通知客户端一些中间状态。例如,状态码100(Continue)表明服务器已经接收到请求头,客户端可以继续发送请求体,如果...

    http响应状态码

    ### HTTP响应状态码详解 ...在HTTP通信过程中,服务器通过HTTP响应状态码告知客户端...这些状态码对于理解HTTP协议的行为至关重要,对于开发人员来说,熟悉这些状态码可以帮助他们更有效地调试和优化Web应用程序和服务。

    HTTP状态码大全 .doc

    HTTP(超文本传输协议)状态码是服务器向客户端反馈请求处理结果的一种方式。HTTP 1.1 规范定义了五类状态码,每类都表示...了解这些状态码的含义有助于调试和优化Web应用程序,确保客户端和服务器之间的通信顺畅无误。

    PHP实例开发源码—snoopy 强大的PHP采集类.zip

    4. **URL重定向处理**:Snoopy可以自动处理HTTP状态码301和302的重定向,确保爬虫能够准确跟踪到最终目标页面。 5. **编码识别与转换**:Snoopy能检测网页的编码,并将其转换为PHP可以处理的格式,避免乱码问题。 ...

    HTTP响应状态码

    了解HTTP响应状态码对于Web开发、故障排查和性能优化至关重要。 在HTTP/1.1协议中,状态码被分为五类: 1. 1XX(临时响应):这些状态码表示临时响应,并且需要请求者继续执行操作。例如,100(继续)状态码表示...

Global site tag (gtag.js) - Google Analytics