2010-08-10 6 views
0

У нас есть URL-адрес, например, https://www.egdomain.com/, а ssl действителен для egdomain.com. , так как я могу перенаправить все запросы от https://www.egdomain.com/ до https://egdomain.com/Проблема с переписыванием мод с https, strip www из url

сайт также имеет обычные HTTP-запросы, которые отлично работают.

Я попытался ниже HTAccess, но все еще ничего

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 

RewriteCond %{HTTP_PORT} =443 

RewriteRule (.*) https://%1/$1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 

RewriteRule (.*) http://%1/$1 [L,R=301] 

Любая помощь будет электронная высоко ценится

ответ

0

manual говорит (курсив мой):

RewriteCond обратные_связи: Это обратные форма% N (1 < = N < = 9), которые обеспечивают доступ к сгруппированным частям (опять же, в круглых скобках) рисунка, fr om последний согласованныйRewriteCond в текущем наборе условий.

Итак:

RewriteCond %{HTTP_PORT} =443 
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 
RewriteRule (.*) https://%1/$1 [L,R=301] 

Обратите внимание, что если ваш сертификат действителен только для варианта без www., посетители будут по-прежнему получать предупреждение безопасности при обращении к www. вариант.

1

Вы можете объединить эти два правила к одному:

RewriteCond %{HTTPS}s ^on(s)| 
RewriteCond http%1://%{HTTP_HOST}%{REQUEST_URI} ^(https?://)www\.(.+) [NC] 
RewriteRule^%1%2 [L,R=301] 

Но, может быть, это немного слишком запутанной.