帮助理解为什么这个重写不起作用?

时间:2010-11-18 21:27:30

标签: php html .htaccess mod-rewrite

我有这个:

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

当输入这样的网址:“domain.com/show_shop/4”时,将获取网址,并显示“show_shop.php”。所以重写的方式很有效。

然而,斜线后面的nr不起作用。我使用这段代码:

  $id = $_GET['id'];

但它导致空白,即没有任何东西。它不是根据php设置的。

原因可能是什么。

仅供参考我有很多其他规则就是这样,它们工作正常,但这个似乎很麻烦......

手动输入URL(真实网址)就像这个“show_shop.php?id = 4”工作正常,ID是GET,一切都很好。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

不应该是%而不是$

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

答案 1 :(得分:0)

尝试QSA-Flag

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