請幫我找到這種行爲的解決方案,這對我來說很陌生。mod_rewrite規則匹配,但鏈沒有離開
這裏是我的htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^emltr\.gif$ aaa.html [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
</IfModule>
注意了L位,所以我要說的是,當「GIF」規則匹配時鏈條離開。 但事實並非如此。
請求的URL是「emltr.gif」
如果「包羅萬象」的規則和條件註釋,那麼「GIF」規則正確服用。 (「aaa.html」不存在,這是一種防止不必要的循環行爲的測試。)
如果「全面通過」規則未註釋,則採用IT,而不是第一條規則。爲什麼第二個而不是第一個?否則:爲什麼不是即使L標誌離開鏈條,然後評估第二條規則?
謝謝
這就是L的工作原理,它會停止重寫迭代。當規則匹配時,您可以使用END而不是L來立即結束重寫過程 – starkeen