У меня есть экземпляр EC2 на AWS, в котором размещена зона route53. Я использовал AWS Certificate Manager для SSL, а затем использовал Classic Load Balancer для того же самого для достижения перенаправления https.
У меня простой веб-сайт, работающий наэтот экземпляр и сервер Apache установлен с ним.Также я сделал .htaccess файл для перенаправления.
Он работает в следующих случаях:
1] example.com -> https://www.example.com
2] https://www.example.com -> https://www.example.com
3] http://www.example.com -> https://www.example.com
Он также должен работать в следующем случае, но это не
www.example.com -> https://www.example.com
Я полностью написал все правило htaccess, но когда я добавляю правило перенаправления www, статус балансировщика нагрузки переходит в состояние OutService. Когда я удаляю это правило, оно отлично работает.
Работа .htaccess для обычных случаев
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
Когда я добавляю правило для www.example.com -> https://www.example.com
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]