Это мое текущее переписывание:
<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, и хотя у меня есть общее представление о том, что происходит, я не могу понять, почему Id сможет видеть user_id, а не api_key (или любые дополнительные параметры после user_id)
Спасибо за любую помощь
Если вы используете curl/wget/netcat, вам нужно запретить вашей оболочке видеть "&". Safest должен дважды указывать ваш URL.
print_r
содержимое $ _SERVER и $ _REQUEST, и они показывают только значения дляrequest
иuser_id