2013-09-23 77 views
3

任何人都可以與我分享301重定向中[R = 301]和[R = 301,L]之間的區別嗎?哪個最適合重定向網址?[R = 301]和[R = 301,L]有什麼區別?

儘管兩者都很好,但我確實注意到[R = 301,L]將URL更改爲新的URL,而[R = 301]僅重定向內容。

任何人都可以分享一些這方面的見解嗎?

回答

4

不管R=301那裏L標誌意味着Last並且當您要標記結束特定重寫規則時應該放置在規則中。

作爲每official doc:

的[L]標誌導致mod_rewrite的停止處理規則集。在大多數情況下,這意味着如果規則匹配,則不會處理其他規則 。這對應於Perl中的最後一個命令,或對應於C中的break命令。使用此標誌來指示當前應使用 規則而不考慮其他規則。

+0

外部重定向標誌('R')不會自動隱含「最後」('L')嗎?我想不出任何你想要重定向的情況,但只能在應用其他規則之後。 –

+1

要回答我自己的評論,這並不意味着。該文件說:「你幾乎總是希望將[R]與[L]結合使用(即使用[R,L])」,並繼續說出爲什麼不包含L經常混淆了事情。 –

-1

標誌[L]和[R = 301,L]之間的主要區別在於R標誌導致明確的外部HTTP重定向(有一個例外),同時沒有R標誌,只是一個隱式的內部重定向,取決於實際的規則和請求。

可選狀態碼僅指定重定向響應的類型。 301表示永久重定向:

+0

這回答了一個與問題不同的問題。他們詢問有沒有「L」的重定向標誌。 –

1

R進行重定向,並且L禁止在此之下應用任何規則。如果沒有L則其餘規則將應用於新的URL。

官方文件說:

你將幾乎總是需要結合使用[R]與[L](即使用[R,L]),因爲對自己的[R]標誌預先將http:// thishost [:thisport]添加到URI,但是會將其傳遞給規則集中的下一個規則,這通常會導致「請求中的URI無效」警告。

相關問題