2013-01-07 36 views
0

我有一些URI,其內容如下:如何避免重複/類似的mod_rewrite規則?

  1. http://www.domain.com/index.php?route=information/information&information_id=2(約)
  2. http://www.domain.com/index.php?route=information/information&information_id=4(幫助)
  3. http://www.domain.com/index.php?route=information/information&information_id=7(接觸)
  4. ....

有沒有一種方法,我可以避免寫明確,但類似的重寫規則?

RewriteRule ^contact$ index.php?route=information/information&information_id=2 [NC,L] # About 

RewriteRule ^help$ index.php?route=information/information&information_id=4 [NC,L] # Help 

回答

0

很多的可能性。最簡單的可能是這樣的:

^(.*)$ index.php?route=information/information&information_id=$1 

然後處理information_idindex.php。確保它只允許可接受的值和404s一切。

或將在mod_rewrite水平更嚴格:

^(contact|help|foo)$ index.php?route=information/information&information_id=$1 
+0

感謝Madbreaks。當你在'index.php'中說'處理'這個字符串時,你是什麼意思? – PeanutsMonkey

0

如果有多個頁面重寫屈指可數,關鍵是有一個單一的,簡單的重寫規則與邏輯相結合的索引頁面根據請求的URL提供正確的內容。

看看任何流行的支持url重寫的CMS的.htaccess和index.php,你會發現你在尋找什麼。