Мод переписал проблему с https, раздели www от url - PullRequest
0 голосов
/ 10 августа 2010

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

сайт также имеет нормальные запросы 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]

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

Ответы [ 2 ]

1 голос
/ 10 августа 2010

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

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

Но, возможно, это слишком запутанно.

0 голосов
/ 10 августа 2010

Руководство говорит (выделено мое):

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

Итак:

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

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

...