Я пытаюсь правильно настроить перенаправления HTTPS на моем веб-сайте, работающем в Apache. У меня есть сертификат SSL с подстановочным знаком для * .example.com. В настоящее время мой RewriteRule перенаправляет весь HTTP-трафик на один и тот же HTTPS-адрес, который отлично работает для всех поддоменов. Но когда кто-то пытается перейти на http://example.com,, он перенаправляет его на https://example.com,, и его браузер выдает предупреждение безопасности, потому что мой сертификат не покрывает этот URL.
Я бы хотелчтобы настроить сервер таким образом, чтобы любой адрес с поддоменом перенаправлялся на тот же адрес с HTTPS, а адрес без субдомена перенаправлялся на этот адрес с добавлением www:
- http://example.com перенаправляет наhttps://www.example.com
- http://foo.example.com перенаправляет на https://foo.example.com
- http://bar.example.com перенаправляет на https://bar.example.com
Мой сервер работаетUbuntu 16.04, MySQL, PPH 7 и Apache 2. Я попытался прочитать официальную документацию, но большая часть этого идет мне на ум. Вот что у меня в /etc/apache2/sites-enabled/000-default.conf под <VirtualHost *:80>
RewriteEngine on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent,L]
RewriteRule ^http://example.com https://www.example.com [L]
Я ожидаю, что первое правило (внизу) перенаправит базовый домен на HTTPS сWWW. добавлено второе правило для перенаправления всего остального трафика на HTTPS с тем же URL. В настоящее время кажется, что второе правило применяется во всех случаях.