Apache переписать путь к paramater - PullRequest
0 голосов
/ 25 апреля 2018

Как мне конвертировать:

https://www.example.com/ja для перенаправления на https://www.example.com/?lng=ja

Я пробовал правило переписывания apache:

RewriteRule ^ja$ /?lng=ja&%{QUERY_STRING}

но я просто получаю 404 при доступе к https://www.example.com/ja

Я также пробовал:

RewriteRule ^ja$ /?lng=ja

Который просто загружает домашнюю страницу с / ja, но, кажется, не добавляет к параметру URL

1 Ответ

0 голосов
/ 25 апреля 2018

Попробуйте RewriteRule ^ja$ /?lng=ja [R,L]

По умолчанию mod_rewrite отображает URL-адрес в путь к файловой системе, но его также можно использовать для перенаправления одного URL-адреса на другой URL-адрес.

Использование флага [R] приводит к перенаправлению HTTP в браузер.Если указан полный URL-адрес (т. Е. Включая http://servername/), то в это место будет произведено перенаправление.В противном случае текущий протокол, имя сервера и номер порта будут использоваться для генерации URL-адреса, отправленного с перенаправлением.

Вы почти всегда захотите использовать [R] в сочетании с [L] (то есть использовать[R,L]) потому что сам по себе флаг [R] добавляет http://thishost[:thisport] к URI, но затем передает это следующему правилу в наборе правил, что часто может приводить к предупреждению «Неверный URI в запросе».

...