使用mod_rewrite / Smarty传递$ _GET变量

时间:2013-08-04 17:28:40

标签: php mod-rewrite get smarty

我很难尝试传递$ _GET变量(事件),即event_id。该网站使用PHP和Smarty模板引擎构建,mod_rewrite工作正常。

工作链接/查询字符串:

/event.php?event=2

重写:

/事件/ 2

htacces:

RewriteRule ^ / events /?$ /event.php?event=$1 [QSA]

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

1 个答案:

答案 0 :(得分:0)

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

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