0
我有這行代碼的一切:國防部重寫 - 重寫,但
RewriteRule ^(.*)/$ allcities.php?state=$1 [QSA,L]
Howver我如何改變它,所以它不會重寫一個新的目錄我已經建立,如「管理員」。正如目前正在改寫的那樣。
我有這行代碼的一切:國防部重寫 - 重寫,但
RewriteRule ^(.*)/$ allcities.php?state=$1 [QSA,L]
Howver我如何改變它,所以它不會重寫一個新的目錄我已經建立,如「管理員」。正如目前正在改寫的那樣。
您可以使用RewriteCond
了點。它使正則表達式恢復其意義。因此,在這種情況下,如果請求URI不以/admin
開頭,則條件爲真。
欲知更多信息,請參閱mod_rewrite documentation。
重寫規則按收到的順序處理。在處理規則之前,您需要有一個處理程序將路由到現有目錄。例如:在RewriteCond
正則表達式之前
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)/$ allcities.php?state=$1 [QSA,L]
注意感嘆號:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ allcities.php?state=$1 [QSA,L]
謝謝。但是,如果有一個以admin開頭的文件,會發生什麼?你可以改變它/管理/沒有任何問題? – Brett
是的,你可以使用你需要的任何正則表達式,例如'^/admin /?$'這將匹配具有可選尾部斜線的路徑。 –
@HolgerJust我認爲你的意思是'^/admin(/ | $)' - 你寫的規則只會與/ admin或/ admin /完全不匹配。 – fluffy