PHP中的基本URL重写问题(mod_rewrite)

axs*_*uul 2 php url mod-rewrite url-rewriting

在我的.htaccess中,我有以下内容

RewriteEngine On

RewriteRule ^users/?$   users.php
RewriteRule ^users/([a-z]+)/?$   users.php?username=$1
Run Code Online (Sandbox Code Playgroud)

如果我这样做,一切都按预期运作

http://example.com/users/
http://example.com/users/joeschmoe/
Run Code Online (Sandbox Code Playgroud)

并且PHP将读取"joeschmoe"作为值

 $_GET['username']
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做

http://example.com/users/joeschmoe/?foo
Run Code Online (Sandbox Code Playgroud)

PHP不会接

 $_GET['foo']
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样,以及如何让它发挥作用?谢谢你的时间!

Iva*_*uev 6

[QSA]RewriteRule添加选项,这将使apache能够将查询字符串附加到重定向的URL:

RewriteRule ^users/?$   users.php [QSA]
RewriteRule ^users/([a-z]+)/?$   users.php?username=$1 [QSA]
Run Code Online (Sandbox Code Playgroud)