我知道一些衝突,但作爲一個國防部重寫麻瓜是時候尋求幫助。apache重寫衝突
我重新寫http://test.com/[name]/
到http://test.com/script.php?id=[name]
成功,使用:
(rule#1)
RewriteRule ^(.*)\/$ script.php?id=$1&%{QUERY_STRING} [L]
接下來,我重寫http://test.com/[name]/foobar/[key]
到http://test.com/script.php?id=[name]&foobar=[key]
也成功使用:
(rule#2)
RewriteRule ^(.*)\/foobar/([0-9]+)$ script.php?id=$1&foobar=$2 [L]
何wever,當我嘗試包括查詢字符串,
使http://test.com/[name]/foobar/[key]?p=[page]
可以重新寫入http://test.com/script.php?id=[name]&foobar=[key]&p=[page]
本:
(rule#3)
RewriteRule ^(.*)\/foobar/([0-9]+)$ script.php?id=$1&foobar=$2&%{QUERY_STRING} [L]
然後阿帕奇只是投我回到http://test.com/script.php。該規則#3
我知道,從試驗和錯誤會工作,如果它沒有使用相同的script.php的規則#1,
但我不知道如何解決它,所以任何幫助表示讚賞!
Arrgh ..在用Gumbo的例子仔細檢查我的規則後,我終於發現出了什麼問題。雖然不完美,但我的重寫規則實際上是按照預期工作的。然而,我完全忘記了我有另一個腳本來檢查有效的參數......顯然,拋出隨機測試值,有時不是一個好主意。感謝^ /伎倆!