0
當MOD_Rewrite執行RewriteRule時,是否會再次爲新生成的請求執行MOD_Rewrite規則?特別是在下面的例子中,這是否會導致循環?MOD_Rewrite是否重寫通過重寫規則調用第二次運行?
RewriteCond Host: (?:www\.)?mysite\.com
RewriteRule ^(.*)$ $1 [QSA,L]
當MOD_Rewrite執行RewriteRule時,是否會再次爲新生成的請求執行MOD_Rewrite規則?特別是在下面的例子中,這是否會導致循環?MOD_Rewrite是否重寫通過重寫規則調用第二次運行?
RewriteCond Host: (?:www\.)?mysite\.com
RewriteRule ^(.*)$ $1 [QSA,L]
在你的情況下,它不會做任何循環。您打開「L」開關,將該特定規則固定爲最後一個。
此外,您必須通過使用「N」或「NS」開關顯式強制下一次迭代,否則它只會在規則文件中移動並停止匹配的最後一個規則。從文檔:
N(下一次迭代)
力量重寫引擎修改 規則的目標,並重新啓動規則 從一開始檢查(所有 修改被保存)。 重新啓動的次數受限於RepeatLimit 指令中指定的值 。如果超過這個數字 N標誌將被忽略。
NS(下一頁同一規則的迭代)
的工作方式類似於N標誌但是從同樣的規則 重啓 規則處理(即,規則 應用的力重複)。 單規則迭代的最大數量由 RepeatLimit指令給出。但許多 單個規則重複不爲重複的全球數計數 (即 爲一些 迭代引起的N標誌重複極限是 獨立的數引起NS重複 的)。