Htaccess перенаправляет только один URL со строкой запроса
Мне нужно перенаправить только этот URL https://www.mywebsite.com/?lang=en на https://www.mywebsite.com/en/
Я пытаюсь с этим без успеха
RewriteCond %{REQUEST_URI} https://www.mywebsite.com/
RewriteCond %{QUERY_STRING} lang=en
RewriteRule ^(.*)$ https://www.mywebsite.com/en/ [R=301,L]
1 ответ
Решение
Вам нужно поставить пустой знак вопроса ?
в конце пункта назначения вашего правила отбросить старую строку запроса из нового URL.
Перенаправить /?lang=en
в /en/
Вы можете использовать следующее правило:
RewriteEngine on
RewriteCond %{QUERY_STRING} lang=en
RewriteRule ^$ https://www.mywebsite.com/en/? [R=301,L]
В противном случае ваш новый URL будет выглядеть примерно так /en/?lang=en
,
Очистите кеш браузера перед тестированием.