我正在尋找重寫多個子字符串的網址。一個子字符串被請求作爲一個子目錄,而另一個被請求作爲正常的查詢字符串參數。mod_rewrite規則匹配問號正則表達式
例如,我想從
http://www.mysite.com/mark/friends?page=2
重寫URL到
http://www.mysite.com/friends.php?user=mark&page=2
我能夠用問號字符除外做到這一點。這是我的重寫規則:
...
RewriteEngine On
RewriteBase/
RewriteRule ^([A-Za-z0-9-_]+)/friends[?]?([^/\.]+)?$ friends.php?user=$1&$2 [L]
如果我將問號更改爲任何其他字符,它的效果很好。看來問題在於'?'字符被錯誤地解釋爲新的查詢字符串的開始。
我需要傳遞出現在/ user/friends之後的任何參數。我該如何做到這一點?
感謝您的回答。工作得很好&我現在正在閱讀食譜。 – markb 2009-05-05 12:56:55
超級解決方案,它也適用於我,雖然我編輯了我的條件代碼:RewriteRule ^([A-Za-z0-9 -_] +).php? pindex.php?typeofpage = $ 1 [QSA,L] – 2016-07-11 14:23:55