Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Редирект с www на без www с http на https


Рекомендованные сообщения

Добрый день.

 

Подскажите пожалуйста, как настроить редирект в htaccess, чтоб перенаправляло на https без www всё? И http с www и без, и https с www?

 

Всё что нашёл в инете не работает, а единственная ссылка в единственной найденной тут теме ведёт в никуда.

Ссылка на комментарий
Поделиться на других сайтах


Это может зависеть от веб сервера, попробуй те вот такой вариант.

 

#Редирект с www to non-www(https)
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]


#Редирект с http to https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ссылка на комментарий
Поделиться на других сайтах

 с http на https

RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

 

с www на без

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 

 

 

вторая конструкция работает везде, а первая - зависит от веб-сервера, как он знает про протокол, есть варианты разные

 

Спойлер

RewriteCond %{HTTPS} =on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

 

RewriteCond %{ENV:HTTPS} !on

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

RewriteCond %{HTTPS} =off 

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

 

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

 

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

 

RewriteCond %{HTTP:SSL} !1

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]

 

какой-то подойдет

  • +1 4
Ссылка на комментарий
Поделиться на других сайтах

Первая не помогла. Которая с http на https, а вот вторая помогла с www на без www.

Добавил ниже свою старую 

 

RewriteCond %{HTTP:PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

 

и всё заработало.

 

В ИТОГЕ - РЕШЕНИЕ В МОЕЙ СИТУАЦИИ - МОЖЕТ КОМУ ПРИГОДИТСЯ:

 

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 

RewriteCond %{HTTP:PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

 

Изменено пользователем veglion
Ссылка на комментарий
Поделиться на других сайтах


9 минут назад, veglion сказал:

В ИТОГЕ РЕШЕНИЕ

Решение разное в разных конфигурациях вебсервера

Ссылка на комментарий
Поделиться на других сайтах

7 минут назад, spectre сказал:

Решение разное в разных конфигурациях вебсервера

 

Безусловно. Но кому-то подойдёт и такое, возможно. Я вот такого сочетания не нашёл сам.

Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...

Скажите у меня вот такой редирект хотел бы спросить начет правильности?

 

RewriteCond %{HTTP_HOST} ^www.drok24.ru$ [NC]
RewriteRule ^(.*)$ https://drok24.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteCond %{REQUEST_METHOD} !^POST$

Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...
В 09.04.2018 в 16:33, AntonPapulov сказал:

Скажите у меня вот такой редирект хотел бы спросить начет правильности?

 

RewriteCond %{HTTP_HOST} ^www.drok24.ru$ [NC]
RewriteRule ^(.*)$ https://drok24.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteCond %{REQUEST_METHOD} !^POST$

 

Вам лучше отдельную тему с вопросом создать

Ссылка на комментарий
Поделиться на других сайтах


  • 3 года спустя...
04.04.2022 в 00:50, Denys сказал:

А для PHP-FPM+NGINX есть решение без www на https?

На хостінге посмотреть.

Ссылка на комментарий
Поделиться на других сайтах

04.04.2022 в 08:39, buslikdrev сказал:

На хостінге посмотреть.

Спасибі за анігдот:mrgreen:

Я вже вирішив може комусь стане в нагоді:

    location / {
        return 301 https://%domain_idn%$request_uri;
    }
server {
    if ($host ~* ^www\.(.*)$) {
        return 301 https://%domain_idn%$request_uri;
    }
}

 

Ссылка на комментарий
Поделиться на других сайтах


05.04.2022 в 17:01, Denys сказал:

Спасибі за анігдот:mrgreen:

 

 

Скрытый текст

 

Ссылка на комментарий
Поделиться на других сайтах

05.04.2022 в 18:13, buslikdrev сказал:

 

  Показать содержимое

 

Да я в курсі що так можна, просто в мене інша панель управління(vestacp) і якщо б в ній така можливість була, то я б на форумі не питав.

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.