Apache http / https без www для перенаправления URL WW - PullRequest
0 голосов
/ 18 января 2011

У меня проблема с настройкой apache (linux distro). Я хочу перенаправить набранные URL-адреса (в браузере):

domain.com
www.domain.com
http://domain.com
http://www.domain.com
https://domain.com

только к одному: https://www.domain.com Что мне делать в файле .htaccess? Обратите внимание, что у меня есть только один сертификат. Именно для www.domain.com

Заранее спасибо за любую помощь! :)

Ответы [ 2 ]

1 голос
/ 18 января 2011
RewriteEngine On

RewriteCond %{HTTP_HOST}   !=www.domain.com [NC,OR]
RewriteCond %{HTTPS}       !=on [NC]
RewriteRule ^(.*)$         https://www.domain.com%{REQUEST_URI} [NE,R=permanent,L]

В любом случае у вас есть только один виртуальный хост, поэтому вы не сможете пропустить предупреждение браузера о сертификате при вводе https://domain.com.

1 голос
/ 18 января 2011

Это правило должно выполнять это:

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} (.+) [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,R=301]

Четыре условия представляют собой две группы несвязанных состояний, где первое условие каждой группы проверяет наличие отсутствующего www. и не HTTPS соответственно.Каждое второе условие групп состоит только в том, чтобы получить часть хоста HTTP без ведущего www..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...