2011-08-22 40 views
1

所以我有以下重寫規則:Htacess重寫規則 - 不拖不工作斜線

RewriteRule ^([a-z0-9_\-]+)(\.php)?$ index.php?page=$1 [NC,L,QSA] 
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?shop=$1&page=index [NC,L,QSA] 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z_-]+).php$ index.php?shop=$1&page=$2 [NC,L,QSA] 

一切似乎都工作很好,如果我去domain.com/shop/然後正常工作和顯示索引。如果我去domain.com/shop/about.php,那麼它的工作原理是完美的。

不工作的唯一的事情是,當我去無尾部斜槓domain.com/shop,它不顯示任何內容,我收到了一堆錯誤。

有誰知道如何解決這一問題?這可能是超級簡單的添加到我的代碼,但我似乎無法弄清楚。

謝謝!

回答

5

在你的第二個規則,斜線後面添加?

RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?shop=$1&page=index [NC,L,QSA] 

這將使尾隨/可選

+0

謝謝!那樣做了。 – Drew

2

我通常結束我的規則,/?$意味着一個斜線或無詞shash結尾的字符串。