Apache: перенаправление htaccess - PullRequest
0 голосов
/ 29 марта 2012

Я обновил свой сайт. Ранее были такие ссылки: http://example.com/bla-bla-bla?language=de. После обновления эти ссылки должны быть перенаправлены на 301 http://de.example.com/bla-bla-bla

Я попробовал это, но это не сработало:

RewriteRule ^(.*)language=(fr|de|it|es|pt) http://$2.example.com/$1 [R=301,NC]

Спасибо за помощь.

1 Ответ

0 голосов
/ 29 марта 2012

Получить параметры нельзя извлечь с помощью команды RewriteRule.Они содержатся в переменной% {QUERY_STRING}.Вы можете извлечь определенное значение, используя RewriteCond.Затем с префиксом «%». Пример

RewriteCond %{QUERY_STRING} ^language=(fr|de|it|es|pt)$    [NC]
RewriteRule ^(.*) http://%1.example.com/$1 [R=301,NC,L]

Мы добавили флаг L, чтобы остановить правила перезаписи.

Рекомендуется установить значение по умолчанию на случай, если кто-то получит доступ к старой странице безпараметр языка.

RewriteCond %{QUERY_STRING} ^$    [NC]
RewriteRule ^(.*) http://fr.example.com/$1 [R=301,NC,L]

Я использовал fr, потому что я француз =)

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...