在我的 .htaccess 中,我有以下内容
RewriteEngine On
RewriteRule ^users/?$ users.php
RewriteRule ^users/([a-z]+)/?$ users.php?username=$1
如果我这样做,一切都会按预期进行
http://example.com/users/
http://example.com/users/joeschmoe/
PHP 将读取“joeschmoe”作为
$_GET['username']
但是,如果我这样做
http://example.com/users/joeschmoe/?foo
PHP 不会接收
$_GET['foo']
知道为什么会发生这种情况以及如何让它发挥作用吗?感谢您的宝贵时间!
请您参考如下方法:
将[QSA]
选项添加到您的RewriteRule ,这将使 apache 能够将查询字符串附加到重定向的 url:
RewriteRule ^users/?$ users.php [QSA]
RewriteRule ^users/([a-z]+)/?$ users.php?username=$1 [QSA]