Перенаправить весь HTTP-трафик на HTTPS, включая субдомены

1839
g3blv

Я пытаюсь перенаправить весь HTTPтрафик, HTTPSвключая субдомены. У меня есть настройки домена с FastComet на их Shared Hosting с использованием cPanel. Некоторые примеры того, как я люблю перенаправлять.

http://www.example.com -> https://www.example.com http://example.com -> https://example.com http://www.example.com/mail -> https://www.example.com/mail http://example.com/mail -> https://example.com/mail http://mail.example.com -> https://mail.example.com 

Я попытался добавить ниже в мой .htaccessфайл

RewriteEngine On RewriteCond % 80 RewriteCond % ^(.+\.)?mydomain\.com$ RewriteRule ^(.*)$ https://%1mydomain.com/$1 [R=301,L] 

И более общий

RewriteEngine On RewriteCond % off RewriteRule ^(.*)$ https://%% [L,R=301] 

Но ни один из них не перенаправляет http://mail.example.comна https://mail.example.comто время перенаправлять http://example.com/mailна https://example.com/mailработу. Что мне не хватает в моей настройке?

4
Где вы разместили этот файл htaccess? если он находится в корне сайта example.com, он будет перенаправлен только для этого домена. Вы должны будете разместить отдельный файл на mail.example.com. Если вам нужен такой общий редирект, обычно лучше включить его в конфигурацию вашего сервера, а не в файл htaccess. Seth 6 лет назад 1
В настоящее время он у меня в папке `public_html`. Папка `public_html` находится в` root`. Где я могу найти конфигурацию сервера? g3blv 6 лет назад 0
Если вы используете виртуальный хостинг, вряд ли вы сможете получить к нему доступ напрямую. Обычно это где-то в `/ etc`. Вам нужно изменить VirtualHost (вероятно), см. Также: [перенаправление http на https apache] (https://stackoverflow.com/questions/16200501/http-to-https-apache-redirection). Если вы не можете этого сделать, вам придется использовать файл htaccess для каждого домена. Seth 6 лет назад 1

0 ответов на вопрос