我想在我的网站上使用静态网址,因此当用户访问
时http://www.domain.com/toys/ - 他会看到玩具类别页面
当他去
http://www.domain.com/toys/playing-cards - 他会看到产品页面
我在使用以下重写规则时遇到了一些麻烦:
RewriteRule ^item/(toys|clothes)/(.*)/?$ showPRODUCT.php?id=$2 [NC,L]
RewriteRule ^item/(toys|clothes)/?$ showCATEGORY.php?product=$1 [NC,L]
因为除了产品之外,第一条规则“捕获”了类别网址(http://www.domain.com/toys/)(反之亦然,如果我切换订单)。
有什么想法吗?
谢谢!
大卫
答案 0 :(得分:1)
RewriteRule ^item/(toys|clothes)/(.*)/?$ showPRODUCT.php?id=$2 [NC,L]
RewriteRule ^item/(toys|clothes)/?$ showCATEGORY.php?product=$1 [NC,L]
假设开头的“^项”应该在那里......
您需要将*转发器更改为+转发器,这样就不会与类别匹配。同样,如果L标志找到第一个,则L标志应该阻止它继续使用另一个重写:
RewriteRule ^item/(toys|clothes)/(.+)/?$ showPRODUCT.php?id=$2 [NC,L]
RewriteRule ^item/(toys|clothes)/?$ showCATEGORY.php?product=$1 [NC,L]