.htaccess молча пересылать (внутренне) URL-адрес, содержащий вопросительный знак и переменную - PullRequest
0 голосов
/ 05 августа 2020

Существует так много вопросов и ответов относительно пересылки с помощью .htaccess, но, к сожалению, я не могу найти ни одного примера, который работал бы в моей ситуации.

Мне нужно незаметно (внутренне) перенаправить URL-адрес

https://www.example.com/track?id=X

на

https://www.example.com/index.php?route=account/order/info&order_id=X

, где X может быть любым числом.

Пожалуйста, сообщите, какое правило перезаписи является правильным для этого сценария.

Я использую Apache 2.4.6 на CentOS 7

1 Ответ

0 голосов
/ 08 августа 2020

Вы можете сделать что-то вроде следующего, используя mod_rewrite в верхней части вашего root .htaccess файла для внутренней перезаписи запроса:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^id=(\d+)
RewriteRule ^track$ index.php?route=account/order/info&order_id=%1 [L]

%1 - это обратная ссылка на значение параметра URL id, зафиксированное в предыдущей директиве RewriteCond.

Вам необходимо использовать директиву RewriteCond для сопоставления с частью строки запроса URL-адреса, поскольку шаблон RewriteRule соответствует только URL-пути.

...