0
我要打一次工作是什麼:重定向直接文件訪問或重寫無需進一步重寫或重定向
用戶請求與/command/rewritehandler.php
開始,被重定向到/
或用戶的任何請求需要別的如果用戶請求fullpath
,則不會以/command/
開頭,並且這將轉換/command/rewritehandler.php?q=fullpath
。
RewriteEngine On
#Next two lines works with redirect
RewriteCond %{REQUEST_URI} ^/command/rewritehandler\.php
RewriteRule .* /? [L,R]
#Next two lines does expected rewritting without above two lines
RewriteCond %{REQUEST_URI} (.+)
RewriteRule !^command/ /command/rewritehandler.php?q=%1 [B,L]
但是在預期重寫後,它被重定向到/
。這怎麼可以避免? L
標記不會阻止其他RewriteRule
在這裏運行。背景:How to bypass %23 (hash sign) through RewriteRule without data loss?
如果瀏覽器發送//command///rewritehandler.php,則這不起作用。 '\ s/+ command/+ rewritehandler \ .php'也可以解決這個多重斜槓問題。 – BalticMusicFan 2015-04-01 22:37:28