Я пытаюсь перенаправить все запросы на безопасный URL-адрес, отличный от www. Но мой код не перенаправляется, когда я просматриваю https://www. Это единственный URL-адрес, который не работает, может кто-нибудь помочь мне выяснить, почему https://www не перенаправляет, как планировалось? Вот мой код:SSL WWW не удается перенаправить
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTPS} =on
RewriteRule^- [env=proto:https]
RewriteCond %{HTTPS} !=on
RewriteRule^- [env=proto:http]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule^%{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
Я использую Flight php для моей маршрутизации.
Я все еще получаю: «Этот сайт не может обеспечить безопасное соединение». Я предполагаю, что я должен удалить его из этой строки: 'RewriteCond% {HTTPS}! = On RewriteCond% {HTTP_HOST}^www \. (. +) $ [NC] RewriteRule ^% {ENV: PROTO}: // % 1% {REQUEST_URI} [R = 301, L] '. Спасибо за Ваш ответ. –
«Я все еще получаю ...»? Вы ничего не сказали о том, что получаете. Вы сказали, что ваш 'https: // www' не перенаправлен, и я сказал вам, что причиной является rewritecond. Убери это! То, что вы сейчас говорите, похоже на браузер, жалующийся на ЦС, который не имеет ничего общего с переадресацией, которая произойдет после того, как SSL уже был согласован. Если вы хотите избежать предоставления недействительного сертификата для www. вы не можете. Но это другая проблема, чем перенаправление. –
Прошу прощения за недоразумение, но сертификат действителен и для www.Я пытаюсь добиться перенаправления для https www на не-www на https. Поскольку это единственный протокол, который не работает с моей текущей настройкой .htaccess. –