Перенаправление всех поддоменов в https через файл .htaccess. - PullRequest
0 голосов
/ 27 июня 2018

В ожидании изменений в Google Chrome, которые вступят в силу 1 июля, я хочу убедиться, что все файлы на сайте, которым я управляю, перенаправляются на https. Это сервер Apache, и у меня уже есть в файле следующее (используя поддельное имя домена для демонстрационных целей):

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^example.org$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.org$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.example\.com\/" [R=301,L]

Как вы можете видеть выше, происходит перенаправление с домена, который я паркую (example.org), на основной домен, которым я управляю (example.com). Кроме этого, все, что я хочу, - это чтобы все страницы сайта, включая все субдомены, перенаправлялись на https-версию каждой страницы. Например, когда кто-то переходит на http://webmail.example.com, я бы хотел, чтобы он перешел на https://webmail.example.com, или когда администратор переходит на http://cpanel.example.com,, его следует перенаправить на https://cpanel.example.com

Мне нравится хранить www в URL для ссылок, не принадлежащих поддомену на этом сайте. Например, если кто-то идет к http://example.com/folder/file, я хочу, чтобы он пошел к https://www.example.com/folder/file

Приведенный выше код находится в файле .htaccess корневой папки. Нужно ли иметь файл .htaccess в папке для каждого субдомена, чтобы это работало? Или я просто что-то не так делаю в существующем файле .htaccess?

...