RewriteRule ^groups/([0-9+]*)/(.*)$ /users.php?group=$1 [QSA,L,E]
www.mysite.com/groups/11/all-users
在users.php中的我尝试获取组ID: echo $ _GET ['group'];
为什么总是得到“假”?
由于
答案 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]