0
我有以下重寫。Apache Url重寫查詢字符串SEO
RewriteRule ^/news/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /pagebase.php?pbid=3656&nid=$1&title=$2 [QSA,L,I]
http://www.domain.com/news/1/new-event/
所以,上面的網址將被改寫爲:
http://www.domain.com/pagebase.php?pbid=3656&nid=1&title=new-event
這完美的作品。不過,我希望人們能夠鍵入:
http://www.domain.com/news沒有任何查詢字符串,然後把它改寫爲這樣的:
http://www.domain.com/pagebase.php?pbid=3656&nid=&title=
但是匹配失敗,所以我得到一個404錯誤。 是否有反正我可以重寫我的規則,使最後2個查詢字符串選項可選。我能夠使用多個重寫規則找出它並將它們按正確的順序排列,但我希望得到它,以便我可以使用一條規則來處理它。
我猜這一點,但你可以沿着這個東西線實驗:'重寫規則^ /新聞(/ |([A-Z0-9 \ - ] +)/([a-z0-9 \ - ] +)/?)$ /pagebase.php?pbid=3656&nid=$2&title=$3 [QSA,L,I]'我所做的就是打破「新聞」之後的部分分爲兩個選項 - 可選斜線和其他任何內容或結構的其餘部分。我相信整個括號表達式將是1美元,而兩個附帶的原始表達式將是2美元和3美元。 – 2013-02-28 23:10:02