2011-08-22 69 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结尾的字符串。