.htaccess代码有问题

时间:2011-03-20 18:41:32

标签: .htaccess

RewriteRule ^groups/([0-9+]*)/(.*)$ /users.php?group=$1 [QSA,L,E]

www.mysite.com/groups/11/all-users

在users.php中的

我尝试获取组ID: echo $ _GET ['group'];

为什么总是得到“假”?

由于

2 个答案:

答案 0 :(得分:1)

我衷心建议使用RewriteLog功能来调试重写规则,我发现它可以帮助揭开内心正在发生的事情的神秘面纱。 http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog

据我所知,你只是错过了URL中的前导斜杠。我在本地使用测试(注意在组之前添加的前导斜杠):

RewriteRule ^/groups/([0-9+]*)/(.*)$ /users.php?group=$1 [QSA,L,E]

结果页面执行$ _GET的vardump,提供:

array(1) { ["group"]=> string(2) "11" }

答案 1 :(得分:0)

试试这个:

示例:

The original URL: http://www.mysite.com/users.php?group=1

The rewritten URL: http://www.mysite.com/group/1

RewriteEngine On
RewriteRule ^group/([^/]*)$ /users.php?group=$1 [L]