0

我在尝试传递作为 event_id 的 $_GET 变量(事件)时遇到了困难。该网站是用 PHP 和 Smarty 模板引擎构建的,并且 mod_rewrite 工作正常。

工作链接/查询字符串:

/event.php?event=2

改写:

/事件/2

访问:

重写规则 ^/events/?$ /event.php?event=$1 [QSA]

查看页面/events/2时,它正在寻找模板2.inc.html,但event.php已经将模板指定为event.inc.html,它应该显示来自数据库的事件详细信息。

4

1 回答 1

0

在 htaccess 中,前导前缀(包括前缀的尾部斜杠)在您比较之前被剥离,因此 ^/events 永远无法匹配。尝试在 RewriteRule 中删除第一个 /。

还要去掉第一个 $,这里的输入(rewritelog 会告诉你)是 /events/2,所以永远不会匹配 events/?$。也许你的意思是 ^events/(\d+) 所以你实际上可以使用 event=$1 的替换。

于 2013-08-04T17:49:25.767 回答