2015-10-26 4 views
1

У нас есть сайт «www.testa-omega3.com» с 3 различными языками (DE, EN, NL). Наш язык по умолчанию - голландский (NL), который в настоящее время является основным доменом.Переслать без www на www, включая подкаталоги «/ код страны»

ДЭ и EN языка в подкаталоге:

  • www.testa-omega3.com/de/
  • www.testa-omega3.com/en/

Когда мы введем полный URL-адрес в браузере, он отобразит правильную страницу. Не-www для DE и EN не перенаправляется правильно.

Это:
testa-omega3.com/en
testa-omega3.com/en/
testa-omega3.com/de
testa-omega3.com/de/

ли все перенаправление "www.testa-omega3.com"

в настоящее время мы имеем следующие строки в нашем HTAccess:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

Что мы делаем не так?

+0

Это не совсем понятно, что вы хотите сделать. Должны ли все перенаправляться в субдомен www, даже если они не ввели эту часть в свой браузер? Но следует ли поддерживать «расширение» языка, если оно было предоставлено? – Kay

+0

testa-omega3.com/ru следует перенаправить на www.testa-omega3.com/en/ и т. Д. И т. Д. – Vincent

ответ

0

Похоже, что ваш (дополнительный) адрес домена настроен неправильно. Правило вашего переписывания основано на URL-адресе, который уже вводится с субдоменом www, когда вы действительно хотите сопоставить голый домен.

Изменение линии

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ 

в

RewriteCond %{HTTP_HOST} ^domain\.com$ 

должен работать.

(Ваше состояние переписывает не работает вообще на моем конце кстати .; сервер я размещаемый в жалуется, что она застревает в петле.)

В моем правиле переписывания я не мог получить переменная {HTTP_HOST} работать так, как вы (повторно) использовали его, но используя полное доменное имя работает просто отлично:

RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] 
+0

@ Vincent, это решило вашу проблему? Если да, можете ли вы принять ответ, чтобы ваш вопрос был отмечен как разрешенный? – Kay

Смежные вопросы