Как создать правило mod_rewrite, где входящий запрос содержит URI - PullRequest
0 голосов
/ 02 ноября 2018

Мне редко приходится создавать правила перезаписи apache2, и мне не повезло с входящим запросом с таким синтаксисом:

https://example.com/api/https%3A%2F%2Fexample.com%2Fthis.json%3Ftype%3Dmatch?q=house&colour=red

Я хотел бы переписать это как:

https://example.com/index.php?q=house&colour=red&uri=https%3A%2F%2Fexampl.com%2Fthis.json

Правило, которое я пробовал:

RewriteRule ^/api/([^/]*)$ /index.php?uri=$1 [QSA]

, которая завершается с ошибкой: «Не найдено: не удалось разрешить идентификатор: api% 2Fhttps% 3A (404)»

Замечу, что если вместо "/ api /" следует простая строка, а не URI, этот подход работает. Я посмотрел вокруг на различные вопросы, касающиеся mod_rewrite здесь и с Google, но не нашел ничего похожего на это. Буду признателен за консультацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...