Код, который вы разместили в вопросе, является «переписать», а не «перенаправить» - так что это может быть основной проблемой.Если ваше приложение получает язык от REQUEST_URI
, оно не увидит переписанный URL-адрес, содержащий язык.
Попробуйте выполнить следующее в верхней части вашего .htaccess
в корне сайта:
RewriteEngine On
RewriteRule !^(en|xx)($|/) /en%{REQUEST_URI} [R,L]
Где xx
- это «другой» язык.
Нет необходимости в условии, которое проверяет серверную переменную REQUEST_URI
, поскольку это должно быть проверено в RewriteRule
шаблон вместо.И я убрал проверку против HTTP_HOST
, так как это кажется избыточным в этом конкретном примере?