RewriteRule, который сохраняет, ПОЛУЧАЕТ параметры

Что не так с этим переписывают правило?

RewriteRule ^api/(.+)$ api/index.php?url=$1 [L]

Я просто хочу "index.php? URL =", чтобы быть добавленным после API / и перед остальной частью получить параметров.

api/image/upload&arg1=1&text=lorem+ipsum

кому:

api/index.php?url=image/upload&arg1=1&text=lorem+ipsum

Что не так с (. +) для получения всего после API/?

8
задан tirithen 23 July 2010 в 19:56
поделиться

3 ответа

Регулярное выражение в RewriteRule выполняется только для части пути URL-адреса, но не для параметров запроса. К счастью, есть флаг [QSA] для сохранения существующих параметров запроса.

19
ответ дан 5 December 2019 в 08:50
поделиться

Я думаю, что вы должны написать ваше доменное имя перед регексом. Например, так:

RewriteRule ^(.+).com/api/(.*)$ "$1.com/api/index.php?url=$2" [R=301,L]
0
ответ дан 5 December 2019 в 08:50
поделиться

Вы что-то делаете, чтобы остановить бесконечную рекурсию?

 RewriteRule ^api/(.+)$ api/index.php?url=$1 [R=301,L]

или что-то подобное

0
ответ дан 5 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: