【发布时间】:2011-11-01 11:45:16
【问题描述】:
我一直在努力解决似乎不起作用的 mod_rewrite 规则。简而言之,我想要以下网址: www.servername.com/showtest/1 重定向到: www.servername.com/showtest.php?id=1
我认为我的 .htaccess 中的以下内容应该可以使重定向正常工作:
RewriteEngine On
RewriteRule ^showevent/(\w+)/?$ showevent.php?id=$1 [L,R,QSA]
但是,它似乎不起作用,据我所知,PHP 中的 $_GET 和 $_REQUEST 变量都是空的。
我尝试进行一些调试,包括各种不同的正则表达式。我还打开了 mod_rewrite 日志记录以环顾四周(我正在本地服务器上工作)。这些是相关的行:
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76d0058/subreq] (1) [perdir /var/www/1277/] pass through /var/www/1277/showevent.php
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] add path info postfix: /var/www/1277/showevent.php -> /var/www/1277/showevent.php/1
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] strip per-dir prefix: /var/www/1277/showevent.php/1 -> showevent.php/1
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] applying pattern '^showevent/(\w+)/?$' to uri 'showevent.php/1'
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] add path info postfix: /var/www/1277/showevent.php -> /var/www/1277/showevent.php/1
看来,不是重写为showevents.php?id=1,而是重写为showevent.php/1
我欢迎您提供任何帮助。
【问题讨论】:
标签: php apache mod-rewrite