Переписать URL с .htaccess на основе параметров GET - PullRequest
0 голосов
/ 21 ноября 2018

Я хочу переписать следующий шаблон URL:

http://example.com/some/inner/page?param1=test&lang=en

становится

http://example.com/en/some/inner/page?param1=test

.Поэтому я хочу взять параметр get lang и поместить его в начале URL.Я знаю, что должен использовать RewriteRule в .htaccess, но какой шаблон нужно написать?Обратите внимание, что мне также нужно, чтобы он работал как для ?lang=en, так и для ?some-parameter=test&lang=en

1 Ответ

0 голосов
/ 21 ноября 2018

Вы можете использовать это правило как самое верхнее правило в корне .htaccess:

RewriteEngine On

RewriteCond %{THE_REQUEST} \?(.*&)?lang=([^&]+)&?(\S*)\sHTTP [NC]
RewriteRule ^ /%2%{REQUEST_URI}?%1%3 [R=301,NE,L]

Это позволит удалить параметр lang= из любого места в строке запроса и перенаправить, используя значение этого же параметра на передней панели.

...