为什么这个URL重写不起作用?

时间:2010-11-18 19:01:17

标签: html regex .htaccess mod-rewrite

这是“真正的”链接:

   domain.com/show_shop.php?id=4

这是重写的:

   domain.com/show_shop/4

我使用后者因为我在.htaccess中有这个:

  RewriteRule ^show_shop/([0-9_]+)$ show_shop.php?id=$1 [NC]

但由于某种原因它不起作用。这个改写不会给出我想要的东西吗?

由于

编辑:

RewriteRule ^new_ad$ new_ad.php [NC] // WORKS FINE!
RewriteRule ^kategori/([0-9_]+)/([0-9]+)$ browse_cat.php?cat_gr=$1&p=$2 // WORKS FINE!

2 个答案:

答案 0 :(得分:1)

如果调用 show_shop 但未设置URL参数,则可能是MultiViews所致。尝试禁用它。

答案 1 :(得分:1)

尝试:

RewriteRule ^/show_shop/([0-9_]+)$ /show_shop.php?id=$1 [NC]

此外,如果可能,您可以查看在VirtualHost中打开这些内容时所发生情况的日志:

 #warning, slows server perf
 RewriteLog "/var/log/apache/rewrite.log"
 RewriteLogLevel 9