我有以下mod_rewrite行(它是.htaccess文件中的唯一行)。當我將第一個名稱更改爲login
以外的某個名稱時有效,但由於某種原因,它與$_GET['initials']
的名稱與實際腳本名稱相同時無法通過。它以某種方式覆蓋自己的重寫?
RewriteRule ^login/([a-z]{1,5}) login.php?initials=$1 [L]
編輯:
望着$ _ SERVER,這是一個PHP結束加載頁面:
'PHP_SELF' => string '/admin/login.php/abc' (length=19)
其中 'ABC' 是提供intitials。所以它完全刪除查詢字符串並嘗試加載該頁面,該頁面以某種方式加載login.php而不是404,即使/ abc目錄不存在?
是否添加了$ work? 'RewriteRule^login /([a-z] {1,5})$ login.php?initials = $ 1 [L]'你有'RewriteBase /'set嗎? – Benno
沒有,但仍然失敗..我沒有RewriteBase設置,第一次我聽說過它.. – Matthew
值得注意的是.htaccess是在一個子目錄中,而不是基本的apache目錄。 – Matthew