В настоящее время я перенаправляюсь на дочерний сайт языка, ища параметр запроса. Это работает, но я хотел бы добавить поддержку для большего количества языков.htaccess Переадресация языка с параметром запроса
Текущий рабочий код:
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{QUERY_STRING} ^ll=es$ [NC]
RewriteCond %{REQUEST_URI} !^(/es/)
RewriteRule (.*) https://domain.com/es/$1 [R=302,L,QSA]
Я могу сделать это искать любого из других языков, но когда дело доходит до введения их обратно в правила я застреваю.
То, что я пытаюсь сделать что-то вроде этого:
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{QUERY_STRING} ^ll=(es|fr|de)$ [NC]
RewriteCond %{REQUEST_URI} !^(/$2/)
RewriteRule (.*) https://domain.com/$2/$1 [R=302,L,QSA]
Это, кажется, дает петлю перенаправления со второй строки. Если я заменю '!^/% 1 /' на '! ^/Es /', он работает, но, очевидно, только для этого пути. – Justin
@Justin Вы можете использовать '! ^/(?: es | fr | de) /' вместо этого во второй строке. Понятно, почему он не работает, как указано выше. – hjpotter92