我希望直接.php請求得到一個notfound錯誤。國防部改寫直接.php訪問
的作用是這樣的:
RewriteRule ^update/([^/]+)/([^/]+)$ update.php?version=$1&action=$2 [QSA,L]
一個正確的請求應
http://localhost/update/0.95/info
但爲什麼:
http://localhost/update.php/0.95/info
還能用嗎?爲什麼角色匹配?
感謝
我希望直接.php請求得到一個notfound錯誤。國防部改寫直接.php訪問
的作用是這樣的:
RewriteRule ^update/([^/]+)/([^/]+)$ update.php?version=$1&action=$2 [QSA,L]
一個正確的請求應
http://localhost/update/0.95/info
但爲什麼:
http://localhost/update.php/0.95/info
還能用嗎?爲什麼角色匹配?
感謝
重寫規則不不比賽http://localhost/update.php/0.95/info
。查詢參數版本和操作不會被設置。該URL仍然有效,但它會工作並指向update.php。
下面是一個/update.php/0.95/info
SERVER提取物:
[QUERY_STRING] =>
[REQUEST_URI] => /update.php/0.95/info
[SCRIPT_NAME] => /update.php
[PATH_INFO] => /0.95/info
是的,它是怎麼樣的,如果我想它不會重定向它,導致.php?我希望你明白我的意思。 ty – Michael 2013-03-27 13:31:41
我想我是。沒有重定向到URL「http:// localhost/update.php/0.95/info」,web服務器只是將請求解釋爲**/update.php **文件的請求。 – kjetilh 2013-03-27 13:34:49
這有點奇怪^^。如果我訪問 http:// localhost/update 我找不到。那裏有什麼不對。我應該爲.php訪問獲取一個notfounf,以及由於規則不是馬赫的原因,就像上面的例子那樣。我沒有得到它 – Michael 2013-03-27 13:37:36
我看不出任何他們會匹配,因爲規則要求的網址開頭爲'update',並貼出網址開頭爲'/ test'。您的配置中是否有其他重寫規則? – 2013-03-27 13:18:12
對不起生氣壞。複製並粘貼錯誤。現在修復它。 – Michael 2013-03-27 13:20:42
爲了@邁克爾的防守,他可以使用'RewriteBase/test /'指令:) – kjetilh 2013-03-27 13:33:11