301跳转和重定向的区别302跳转在写法上有什么区别

拒绝访问 | bbs.tui18.com | 百度云加速
请打开cookies.
此网站 (bbs.tui18.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3fa0e7abe09643b3-ua98).
重新安装浏览器,或使用别的浏览器http状态码301和302详解及区别 - 简书
http状态码301和302详解及区别
官方的比较简洁的说明:
301 redirect: 301 代表永久性转移(Permanently Moved)
302 redirect: 302 代表暂时性转移(Temporarily Moved )
ps:这里也顺带记住了两个比较相近的英语单词(permanently、temporarily),嘻哈!
详细来说,301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)——这是它们的共同点。他们的不同在于。301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),**[搜索引擎](http://lib.csdn.net/base/searchengine)在抓取新内容的同时也将旧的网址交换为重定向之后的网址**;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,**搜索引擎会抓取新的内容而保存旧的网址。**
这里开启傻瓜自问自答模式(自己可能想到的疑问):
1、什么是重定向啊?
就是地址A跳转到地址B啦。百度百科的解释:(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
2、可是,为什么要进行重定向啊?什么时候需要重定向呢?
想跳就跳,就跳的漂亮。还是借鉴百度百科:
1)网站调整(如改变网页目录结构);
2)网页被移到一个新地址;
3)网页扩展名改变(如应用需要把.php改成.Html或.shtml)。
这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等。
3、那么,什么时候进行301或者302跳转呢?
当一个网站或者网页24—48小时内临时移动到一个新的位置,这时候就要进行302跳转,打个比方说,我有一套房子,但是最近走亲戚去亲戚家住了,过两天我还回来的。而使用301跳转的场景就是之前的网站因为某种原因需要移除掉,然后要到新的地址访问,是永久性的,就比如你的那套房子其实是租的,现在租期到了,你又在另一个地方找到了房子,之前租的房子不住了。
清晰明确而言:
使用301跳转的场景:
1)域名到期不想续费(或者发现了更适合网站的域名),想换个域名。
2)在搜索引擎的搜索结果中出现了不带www的域名,而带www的域名却没有收录,这个时候可以用301重定向来告诉搜索引擎我们目标的域名是哪一个。
3)空间服务器不稳定,换空间的时候。
使用302跳转的场景:
--尽量使用301跳转!
4、为什么尽量要使用301跳转?——网址劫持!
这里摘录百度百科上的解释:
从网址A 做一个302 重定向到网址B 时,主机服务器的隐含意思是网址A 随时有可能改主意,重新显示本身的内容或转向其他的地方。大部分的搜索引擎在大部分情况下,当收到302 重定向时,一般只要去抓取目标网址就可以了,也就是说网址B。如果搜索引擎在遇到302 转向时,百分之百的都抓取目标网址B 的话,就不用担心网址URL 劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。比如说,有的时候A 网址很短,但是它做了一个302 重定向到B 网址,而B 网址是一个很长的乱七八糟的URL 网址,甚至还有可能包含一些问号之类的参数。很自然的,A 网址更加用户友好,而B 网址既难看,又不用户友好。这时Google 很有可能会仍然显示网址A。由于搜索引擎排名算法只是程序而不是人,在遇到302 重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址 劫持的可能性。也就是说,一个不道德的人在他自己的网址A 做一个302 重定向到你的网址B,出于某种原因, Google 搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B 上的内容,这种情况就叫做网址URL 劫持。你辛辛苦苦所写的内容就这样被别人偷走了。302 重定向所造成的网址URL 劫持现象,已经存在一段时间了。不过到目前为止,似乎也没有什么更好的解决方法。在正在进行的谷歌大爸爸数据中心转换中,302 重定向问题也是要被解决的目标之一。从一些搜索结果来看,网址劫持现象有所改善,但是并没有完全解决。
我的理解是,从网站A(网站比较烂)上做了一个302跳转到网站B(搜索排名很靠前),这时候有时搜索引擎会使用网站B的内容,但却收录了网站A的地址,这样在不知不觉间,网站B在为网站A作贡献,网站A的排名就靠前了。
301跳转对查找引擎是一种对照驯良的跳转编制,也是查找引擎能够遭遇的跳转编制,它告诉查找引擎,这个地址弃用了,永远转向一个新地址,可以转移新域名的权重。而302重定向很容易被搜索引擎误认为是利用多个域名指向同一网站,那么你的网站就会被封掉,罪名是“利用重复的内容来干扰Google搜索结果的网站排名”。
自问自答模式先告一段落,这里分享下我在NodeJs中实现跳转的场景:
之前做过一个重构的项目,由于各种原因,我们的网站的登录以及注册部分需要剥离为另一个网站,域名和之前的不同,所以,我们需要保证旧的地址也能重定向到地址中去,我们就在旧的系统的node层中作了一个重定向,代码类似这样:
这里没有设置状态码,发现默认是302跳转,然后我们设置了301状态码,类似这样:
用fiddle抓包(上面的302调整我就不上图了),看到效果:
以上是使用Express,用nodejs原生的代码实现类似这样:
先到这里了,路漫漫其修远兮,下班回家。
先看看wiki http状态码的解释。
301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非...
由于最近一直在接触与抓网站相关的工作,在无意之中接触到了一些之前不知道的有关网站跳转的知识,我简单的介绍一下。
先讲一下重定向,大家应该都有所了解,简单来说就是地址A跳转到地址B(简略理解就是平常所见的页面跳转)。百度百科的解释:重定向(Redirect)就...
最近在看《图解HTTP》这本书,内容很基础,也很简单。一起买来的《HTTP权威指南》相对来说就太“权威”了。接下来会对书中的内容或者个人认为的疑点进行一下总结。 301 、302是什么? 301、302等状态码是响应报文中状态行中的组成部分。状态码(Status Code)...
301与302都是重定向。也就是说原来访问的url跳转到另一个url上。 其中:301是永久重定向(Permanently Moved),302代表暂时性重定向(Temporarily Moved)。 在发生重定向时,输入的旧地址A变为新地址B。不同的是,301表示旧地址的...
搜索引擎优化(Search engine optimization,简称SEO),指为了提升网页在搜索引擎自然搜索结果中(非商业性推广结果)的收录数量以及排序位置而做的优化行为,这一行为的目的,是为了从搜索引擎中获得更多的免费流量,以及更好的展现形象。而SEM(Search...
PART 1.2017年目标分解表 PART 2.耗时 历时8天 共30小时12分 PART 3.成果 1.年目标分解表如上 2.2017年目标一.形象气质全面蜕变 3.2017年目标二.重启,我的大学:阅读 4.2017年目标三.个人生活全面平衡 5.年目标澄清.美丽是种...
光阴似箭,日月如梭,时光飞逝,岁月静好……尔来,俺有话给你说!明天要上班,明天要上班,明天要上班,重要事情说三遍。言归正传。我的正事是记录两个儿子成长的点点滴滴,以后好回味。为什么不用照片和视频?因为太占内存,文字是占内存最小的,最划算,当妈的,做什么事情,都要考虑多一点了...
妈妈书里描述的蓝天 是否存在这世界 白天黑夜有什么区别 灰和黑更迭
-------------雾都孤儿 是树木长在云中? 是房屋存在雾里? 还是我们可以云中穿行? 曾以为这里是剧中的天庭 可总觉得有些不对 那里的云是白色的 而这里确实灰色的 对,没错,...
1 终端输入:pod 2 终端输入:pod repo首页运维笔记浅谈:301重定向和302重定向与SEO
NextCloud,又一个私人云盘
Chrome浏览器建议关闭QUIC
frp内网穿透教程(带图)
请升级最新openssl支持chacha20加密
CENTOS 修改SSH端口
WP Encrypt,为你的WP站申请和更新SSL证书
免费SSL根证书申请
git命令行通过socks5隧道方式
老司机(ss-panel)网站部分设置热门文章1无门槛免费撸欧洲手机卡2正式由酸酸R过渡到V2ray3Navicat Premium v12 注册机(附源码)4免费注册域名(含 edu域名),速撸手慢无5新出的免费SSL证书,周期一年(alwaysonssl)
echo少年资深的互联网水货~214文章557评论更多文章echo商城
ss加密——chacha20
做ss服务器必备的安全措施
net_speeder加速你的服务器
基于Apache网站优化总结
基于Linux VPS修改ssh欢迎界面
windows azure添加配置虚拟主机
Azure基于Linux下挂载数据磁盘
centos定时任务详解
wordpress优化(服务器篇)
Ubuntu 14.04上安装轻量级web服务器Cherokee
记住我的登录信息
电子邮件地址
输入用户名或电子邮箱地址,您会收到一封新密码链接的电子邮件。
用户名或电子邮件地址
文章目录繁我只知道对seo不是很友好,对程序性能有影响吗?
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
说法同 以下是301和302状态码解释:
301 Moved Permanently
  被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。  新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。  如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。  注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。
  请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。  新的临时性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。  如果这不是一个 GET 或者 HEAD 请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。  注意:虽然RFC 1945和RFC 2068规范不允许客户端在重定向时改变请求的方法,但是很多现存的浏览器将302响应视作为303响应,并且使用 GET 方式访问在 Location 中规定的 URI,而无视原先请求的方法。状态码303和307被添加了进来,用以明确服务器期待客户端进行何种反应。
大家都已经对基本的301跳转和302跳转做了解释, 我从我的理解解答下。
如果从便于搜索引擎友好的话当然是301最合适,一般情况下非特意临时性URL转移,都尽量用301跳转,这样的一个好处是搜索引擎会把该URL的PR值都带到跳转后的地址,而302跳转早期被很多网站当作作弊手段,已经被多数搜索引擎重点盯查。
而性能方面原则上301跳转和302跳转没有多大差别,不过考虑到搜索引擎个案对待,也建议使用301跳转,301跳转搜索引擎是不对原地址进行访问的,而302跳转除了象所讲可能被劫持之外,还有可能会加大对服务器的URL请求数量。
搜索引擎对302跳转进行判断的时候,如果发现跳转目标页面URL更加复杂,就会返回来对原URL进行访问,寻取一个简单友好的地址,这样无形会加重服务器性能损耗,因此301跳转要比302跳转靠普也对服务器性能有保障。
301的含义是&永久重定向&,而302的含义是&临时重定向&301 代表永久性转移是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因, Google搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B上的内容,这种情况就叫做网址URL劫持。你辛辛苦苦所写的内容就这样被别人偷走了。
301转向:是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
302重定向又称之为302代表暂时性转移(Temporarily Moved ), 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确地处理。
301重定向与302重定向的区别在于302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。
301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。
不是您所需,查看更多相关问题与答案
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (41271) 次【跳转适配干货】PC页面301(302)跳转至移动页面规则写法
【跳转适配干货】PC页面301(302)跳转至移动页面规则写法
本文给大家分享的是PC页面301(302)跳转至移动页面规则写法,这个做法配合跳转适配效果最佳!下面就是绝对的干货了。
我们知道,对于百度而言,跳转适配可以使用百度站长平台的工具,里面可以填写适配规则,其实这个规则与301或者是302跳转的规则可以说的上是一致的。
百度跳转适配工具就不多做介绍了,大家可以参考《》。下面我就重点介绍下PC页面301(302)跳转至移动页面规则写法,当你看完这个规则的写法之后,或许就会发现工具的规则其实就是针对的PC页面301(302)跳转至移动页面。
PC页面想要跳转到针对的移动页面,我们要采用的是针对移动UA(User_Agent)的301(302)跳转,这里我不建议大家使用JS的跳转!判断UA是需要服务器完成,所以我们需要对服务器进行相应设置。这里我以linux下Apache的Web环境做一个介绍。
首选我们要整理一些移动的UA,这边我简单的找了下,找了这些"android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap",更多的大家可自行整理。
找到之后,要做的就是301或者302了。Apache做301很简单,只需要在.htaccess文件中加入相应的规则即可。考虑到看到这篇文章的一些朋友是对这块并不是十分了解,下面我就举例介绍。
大家可以参考我刚做的两个新站:PC www.xcsjz. 移动 m.xcsjz.net 。后面我们要做的就是将PC站www.xcsjz.net的每个页面都能301或者302跳转到相应的移动m.xcsjz.net页面。
做之前,我们一定要保证PC与移动的网站URL连接结构绝对的相同(这点是在做站的时候就应该考虑的),什么样的才是绝对的相同?
可以这样理解:
PC首页:www.xcsjz.net
移动首页:m.xcsjz.net
PC单页:www.xcsjz.net/wlyx.html
移动单页:m.xcsjz.net/wlyx.html
PC栏目:www.xcsjz.net/case/
移动栏目:m.xcsjz.net/case/
PC栏目列表分页:www.xcsjz.net/case/index_2.html
移动栏目列表分页:m.xcsjz.net/case/index_2.html
PC内容页面:www.xcsjz.net/case/3.html
移动内容页面:www.xcsjz.net/case/3.html
PC首页:www.xcsjz.net&&&&&&&&&&&&&&&&&&&&&&&&&&&&---&&移动首页:m.xcsjz.netPC单页:www.xcsjz.net/wlyx.html&&&&&&&&&&&&&&&&&&---&&移动单页:m.xcsjz.net/wlyx.htmlPC栏目:www.xcsjz.net/case/&&&&&&&&&&&&&&&&&&&&&&---&&移动栏目:m.xcsjz.net/case/PC栏目列表分页:www.xcsjz.net/case/index_2.html&&---&&移动栏目列表分页:m.xcsjz.net/case/index_2.htmlPC内容页面:www.xcsjz.net/case/3.html&&&&&&&&&&&&---&&移动内容页面:www.xcsjz.net/case/3.html
上面的网站URL连接举例其实也就是www.xcsjz.net和m.xcsjz.net的全部的网站URL结构(这两个站非常简单,URL结构不深)。接下老,回到本文的重点,根据上面的两个站的URL进行相应的301或者302跳转。
1、PC首页跳转到移动首页
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]
RewriteRule ^$ http://m.xcsjz.net/ [R=301,L]
RewriteEngine onRewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]RewriteRule ^$ http://m.xcsjz.net/ [R=301,L]
2、PC单页跳转到移动单页
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]
RewriteRule ^([a-zA-Z]+).html$ http://m.xcsjz.net/$1.html [R=301,L]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]RewriteRule ^([a-zA-Z]+).html$ http://m.xcsjz.net/$1.html [R=301,L]
3、PC栏目跳转到移动栏目
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]
RewriteRule ^([a-zA-Z]+)/$ http://m.xcsjz.net/$1/ [R=301,L]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]RewriteRule ^([a-zA-Z]+)/$ http://m.xcsjz.net/$1/ [R=301,L]
4、PC栏目列表分页跳转到移动栏目列表分页
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)_([0-9]+).html$ http://m.xcsjz.net/$1/$2_$3.html [R=301,L]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)_([0-9]+).html$ http://m.xcsjz.net/$1/$2_$3.html [R=301,L]
5、PC内容页面跳转到移动内容页面
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]
RewriteRule ^([a-zA-Z]+)/([0-9]+).html$ http://m.xcsjz.net/$1/$2.html [R=301,L]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC]RewriteRule ^([a-zA-Z]+)/([0-9]+).html$ http://m.xcsjz.net/$1/$2.html [R=301,L]
规则解释:
RewriteEngine on :开启(.htaccess文件中只需写上一次即可);
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos|UCBrowser|QQBrowser|wap" [NC] : 服务判断移动UA;
RewriteRule ^$ http://m.xcsjz.net/ [R=301,L] :规则 。
以上的内容就是PC页面301跳转至移动页面规则写法举例,大家可以参照着做自己的。302跳转的话,只需要将以上规则[R=301,L]中的"301"换成"302"即可。
那么如何判断百度时是否识别我们做的PC页面301跳转至移动页面。这里可以使用百度站长平台的"抓取诊断工具",看百度移动抓取抓pc站的url的时候是否识别为移动url状态,成功被识别则说明我们的站点在百度眼里已经是正常的跳转了。
我们可以仔细分析上面的跳转规则,用的就是正则表达式,之后替换生成的pattern,这个与使用百度站长平台提交规则时用的是完全一致的正则匹配规则(百度给出的正则文档大家可查阅《》),我们就可以这样理解,百度站长平台的移动适配工具其实就是在间接的帮助你的站点做301或者302跳转。当然,为了保证我们的规则能有效及时的被百度发现,还是要使用适配工具做一下规则适配!
至此,本文也就结束了!以上的内容是我的一点总结,大家有什么意见或者观点,欢迎在本文下方留言!
文章均为(张鹏阳)原创,转载请标明出处,并保留链接:
& & & &==张鹏阳QQ:==
& &文章的阅读,要细之再细,从一边文章中提取营养,并且把他转化成为自己的东西,这样才算是读懂了这篇文章!

我要回帖

更多关于 301跳转和302跳转 的文章

 

随机推荐