У меня есть сервер, который пытается заставить HTTPS и www поддомен.Htaccess force-www rewrite не работает должным образом
В файле Apache конф (устанавливается сервер, у меня нет доступа для записи):
<Location />
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/ [R,L]
</Location>
В файле .htaccess
<IfModule mode_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule (.*) https://www.example.com/$1 [R=301,L,NC]
</IfModule>
Однако последний, кажется, не работает если запрос уже HTTPS. Я получаю следующие результаты:
http://example.com -> https://www.example.com
https://example.com -> https://example.com
кто-нибудь может пролить свет на то, почему WWW редирект игнорируются запросы HTTPS?
Проверьте, включен ли ваш .htaccess или нет, добавив тот же текст мусора (случайный) поверх вашего .htaccess и посмотрите, генерирует ли он 500 (внутренний сервер) ошибка или нет при посещении вашей страницы в браузере? – anubhava
Кроме того: перенаправление HTTP к HTTPS не кажется полным или правильным? 1) Это временная переадресация. 2) Он всегда перенаправляется на корень, несмотря на захват URL-адреса в 'RewriteRule' _pattern_. – MrWhite
anubhava, я знаю, что файл .htaccess включен, так как есть другие перезаписи ниже описанного выше. w3d, я знаю о недостатках сервера, предоставленного переписать, я не имею никакого контроля над этим, но уже упомянул его о полномочиях. –