首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[R=301]和[R=301,L]有什么区别?

[R=301]和[R=301,L]有什么区别?
EN

Stack Overflow用户
提问于 2013-09-23 20:50:34
回答 3查看 31K关注 0票数 19

有人能和我分享一下301重定向中[R=301][R=301,L]的区别吗?哪一项最适合重定向urls?

虽然两者都工作得很好,但我确实注意到,[R=301,L]将URL更改为新的URL,而[R=301]只重定向内容。

有人能分享一些关于这方面的见解吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-23 20:52:53

R=301无关,L标志表示Last,当您想要标记结束特定重写规则时,应该将其放在规则中。

根据

L标志会导致mod_rewrite停止处理规则集。在大多数上下文中,这意味着如果规则匹配,则不会再处理其他规则。这与Perl中的最后一个命令或C中的break命令相对应。使用此标志指示应立即应用当前规则,而不考虑其他规则。

票数 19
EN

Stack Overflow用户

发布于 2013-09-23 20:57:03

R进行重定向,并且L禁止应用此重定向下的任何规则。如果没有L,那么rest规则将应用于新的URL。

官方文件说:

您几乎总是希望将R与L结合使用,因为R标志本身会在URI前面加上http://thishost[:thisport],但随后会将其传递给规则集中的下一个规则,这通常会导致“Invalid URI in request”警告。

票数 5
EN

Stack Overflow用户

发布于 2013-09-23 20:54:31

标志L和HTTP之间的主要区别在于,R标志导致显式外部R=301重定向(有一个例外),而如果没有R标志,则规则也可能仅导致隐式内部重定向,这取决于实际的规则和请求。

可选的状态代码只是指定重定向响应的类型。301表示永久重定向:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18959715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档