这是我目前的重写:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule api/rest/v1.0/(.*)$ api/rest/v1.0/index.php?request=$1 [QSA,NC,L]
</IfModule>
但如果我发送此信息:http://localhost/api/rest/v1.0/users/list?user_id=123abc&api_key=12
作为测试,我会收到以下QUERY_STRING
$ _SERVER参数:
"QUERY_STRING": "request=users\/list&user_id=123abc",
我对RewriteRules很新,虽然我对正在发生的事情有了基本的了解,但我无法理解为什么我能够看到user_id而不是api_key(或user_id之后的任何额外参数)
感谢您的帮助
答案 0 :(得分:1)
如果您使用curl / wget / netcat,则需要阻止shell看到“&amp;”。最安全的是双重引用您的网址。