2016-08-31 5 views
1

Я пытаюсь перенаправить все запросы на безопасный 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 для моей маршрутизации.

ответ

0

Вышлите сообщение, чтобы убедиться, что ваш rewrites для www. действительны только для запросов, отличных от SSL.

Удалить RewriteCond% {HTTPS}! = На

+0

Я все еще получаю: «Этот сайт не может обеспечить безопасное соединение». Я предполагаю, что я должен удалить его из этой строки: 'RewriteCond% {HTTPS}! = On RewriteCond% {HTTP_HOST}^www \. (. +) $ [NC] RewriteRule ^% {ENV: PROTO}: // % 1% {REQUEST_URI} [R = 301, L] '. Спасибо за Ваш ответ. –

+0

«Я все еще получаю ...»? Вы ничего не сказали о том, что получаете. Вы сказали, что ваш 'https: // www' не перенаправлен, и я сказал вам, что причиной является rewritecond. Убери это! То, что вы сейчас говорите, похоже на браузер, жалующийся на ЦС, который не имеет ничего общего с переадресацией, которая произойдет после того, как SSL уже был согласован. Если вы хотите избежать предоставления недействительного сертификата для www. вы не можете. Но это другая проблема, чем перенаправление. –

+0

Прошу прощения за недоразумение, но сертификат действителен и для www.Я пытаюсь добиться перенаправления для https www на не-www на https. Поскольку это единственный протокол, который не работает с моей текущей настройкой .htaccess. –

0

Там может быть SSL вопрос расконфигурация, потому что вы не получаете сообщение об ошибке перенаправления. Ошибка «Этот сайт не может обеспечить безопасное соединение» может быть поврежден по определенным причинам. Позвольте мне объяснить один за другим ниже:

  • Сертификат SSL не принадлежит доверенному CA (Self Signed).
  • Срок действия сертификата SSL истек.
  • Неправильная настройка SSL также может вызвать такое сообщение об ошибке.
  • Время и дата вашего компьютера неверны.
  • Возможно, вы используете старую/небезопасную версию SSL-сертификата (SHA1).
  • Использование старого веб-браузера.

Предлагаю вам проверить вышеуказанные баллы.

Предложения:

  • Получить действительный сертификат от доверенного центра сертификации, корень которого цепь уже в ведущих веб-браузеров (т.е. Comodo или Symantec).
  • Обновите свой сертификат SSL.
  • Проверьте свой сайт в SSL checker tool.
  • Сделайте время и дату идеальным.
  • Если вы используете старую версию SSL-сертификата, попросите своего поставщика SSL переиздать его.
  • Сделайте свои браузеры актуальными.

Надеемся, эта информация поможет вам решить вашу проблему.

Смежные вопросы