在我的 .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] 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!