Отправка данных строки запроса с помощью правила перезаписи apache

0

Это мое текущее переписывание:

<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)

Спасибо за любую помощь

  • 0
    Вы уверены, что что-то в вашем коде не устраняет это?
  • 0
    Да, я просто print_r содержимое $ _SERVER и $ _REQUEST, и они показывают только значения для request и user_id
Показать ещё 3 комментария
Теги:
.htaccess
mod-rewrite

1 ответ

1
Лучший ответ

Если вы используете curl/wget/netcat, вам нужно запретить вашей оболочке видеть "&". Safest должен дважды указывать ваш URL.

  • 0
    (через комментарии, невозможно пригвоздить это только через вопрос)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню