2017-02-10 4 views
0

У меня эта проблема на Firefox, а не на хром. Когда пользователь вводит URL-адрес моего сайта https без www., он должен добавить www в мой URL.Добавление www в url с https с использованием htaccess

Прямо сейчас, Firefox показывает эту ошибку:

Your connection is not secure

Когда пользователь вводит URL моего сайта без WWW. Я пробовал разные правила .htaccess, но ни один из них не работает. Каким должен быть правильный способ добавления www в URL?

Ниже приведены два варианта, которые я пробовал, но ни один из них не работал:

RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Второй вариант:

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

Вы можете поделиться своими правилами .htaccess здесь? это может помочь исправить ответ @FarazAleem –

+0

Ниже приведены два варианта, которые я пробовал, но ни один из них не работал: RewriteCond% {HTTP_HOST}!^www \. RewriteCond% {HTTPS} s^on (s) | RewriteRule^HTTP% 1: //www.% {HTTP_HOST}% {REQUEST_URI} [L, R = 301] RewriteCond% {HTTPS} выкл RewriteRule * https:. //% {HTTP_HOST}% { REQUEST_URI} [L, R = 301] RewriteCond% {HTTP_HOST}!^Www \. [NC] RewriteRule. * Https: //www.% {HTTP_HOST}% {REQUEST_URI} [L, R = 301] –

+0

ставить под вопрос не в комментарии @FarazAleem –

ответ

0

Проблема у вас есть то, что вы не можете перенаправлять посетителей на HTTPS URL пока у них не будет действительной сессии HTTPS. Таким образом, ваш сертификат должен быть действительным для не-www или предупреждение о безопасности всегда будет отображаться, и перенаправление не будет выдано.

Это перенаправит всех, кто не находится на https://www.. Просто помните, как я сказал выше, сертификат должен быть действительным на https, прежде чем перенаправление может быть выпущено, если вы не хотите этого предупреждения.

RewriteEngine on 
RewriteCond %{HTTPS} =off [OR] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301,L] 

Просто замените www.example.com, если необходимо.

+0

Я понимаю, что вы говорите, но почему это правильно перенаправляет на Chrome, т. е. если пользователь вводит URL-адрес с http и без www, хром добавляет www, а также перенаправляет на https, что идеально, что я хочу. –

+0

Да, посещение на http будет работать нормально, и перенаправление произойдет. Единственная проблема - посещение https с не-www. – SuperDuperApps

+0

Меня беспокоит только то, что пользователь вводит https, он должен добавлять www и не должен указывать сообщение «Ваше соединение не безопасно». Я пробовал правило и менял домен со мной, но все же он показывает ту же ошибку и не перенаправляет пользователя на https: // www. –