Перейти к содержанию

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

Добрый день.

 

Подскажите пожалуйста, как настроить редирект в 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 2

Поделиться сообщением


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

Первая не помогла. Которая с 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 сказал:

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

 

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

Поделиться сообщением


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

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

 

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$

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 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$

 

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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От wolfxxx
      Ребята привет, начинаю осваивать opencart.  Подскажите в чем проблема?
       
      1) в фаиле .htaccess прописал редирект, нашел в соседней ветке и просто вставил
      Options +FollowSymlinks
      # Prevent Directoy listing
      Options -Indexes
      # Prevent Direct Access to files
      <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
       Require all denied
      ## For apache 2.2 and older, replace "Require all denied" with these two lines :
      # Order deny,allow
      # Deny from all
      </FilesMatch>
      # SEO URL Settings
      RewriteEngine On
      #Редирект с 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]
      # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
      RewriteBase /
      RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
      RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
      RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
      RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
       
      2) в фаиле robot.txt  прописываю Host: https://xenon-store.ru/
      3) в фаиле config.php 
      прописал так 
      <?php
      // HTTP
      define('HTTP_SERVER', 'https://xenon-store.ru/');
      // HTTPS
      define('HTTPS_SERVER', 'https://xenon-store.ru/');
       
      4) в фаиле /admin/config.php
      // HTTP
      define('HTTP_SERVER', 'https://xenon-store.ru/admin/');
      define('HTTP_CATALOG', 'https://xenon-store.ru/');
      // HTTPS
      define('HTTPS_SERVER', 'https://xenon-store.ru/admin/');
      define('HTTPS_CATALOG', 'https://xenon-store.ru/');
       
      5) в Вебмасте указываю переезд на htpps
       
      В итоге прилетает письмо от яндекса 
       
      У вашего сайта https://xenon-store.ru изменилось главное зеркало: вместо https://xenon-store.ru главным в группе зеркал стал домен xenon-store.ru. Рекомендуем проверить что новое главное зеркало доступно для индексирования и отдает роботу код 200. 

      Если вас не устраивает этот выбор, изменить главное зеркало можно с помощью 301 редиректа Воспользуйтесь инструментом "Переезда сайта", чтобы ускорить применение новых указаний и проверить корректность настроек, необходимых для смены адреса. 

      Сайты признаются зеркалами друг друга, если возвращают роботу одно и то же содержимое. Если это уже не так, сайты расклеятся автоматически в течение нескольких недель. 
       
       
      6) делаю диагностику на вебмастере(скрины приложил)
       
       
      Помогите плииз, с английским туго но стараюсь учить)))
       Что и где надо сделать???
       
       
       
       
       
       


    • От deadlylimonad
      Появилась ошибка в JS при переезде на https, перестали подгружаться товары в категориях (бесконечная прокрутка).
      Вот что в консоли:
      Mixed Content: The page at 'https://abt-professional.com/magazin/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://abt-professional.com/magazin/?page=2'. This request has been blocked; the content must be served over HTTPS. send @ jquery-2.1.1.min.js?j2v=2.8.5:4 ajax @ jquery-2.1.1.min.js?j2v=2.8.5:4 n.(anonymous function) @ jquery-2.1.1.min.js?j2v=2.8.5:4 load @ jquery-ias.min.js?j2v=2.8.5:13 (anonymous) @ jquery-ias.min.js?j2v=2.8.5:13 j @ jquery-2.1.1.min.js?j2v=2.8.5:2 add @ jquery-2.1.1.min.js?j2v=2.8.5:2 c.next @ jquery-ias.min.js?j2v=2.8.5:13 scrollHandler @ jquery-ias.min.js?j2v=2.8.5:13 a @ jquery-ias.min.js?j2v=2.8.5:13 setTimeout (async) d @ jquery-ias.min.js?j2v=2.8.5:13 f @ jquery-2.1.1.min.js?j2v=2.8.5:2 dispatch @ jquery-2.1.1.min.js?j2v=2.8.5:3 r.handle @ jquery-2.1.1.min.js?j2v=2.8.5:3  
    • От kolomenec
      750.00 руб
      Скачать/Купить дополнение


      Переезд сайта с http на https
      Здравствуйте! Предлагаю услуги по переходу сайтов на Opencart c http на https
       
      Для чего?
      С января 2017 года Google Chrome начнет помечать работающие на http-протоколе сайты, которые сохраняют пароли и данные о кредитных картах пользователей, как «небезопасные».
      Несколько причин для перехода!
      1. Https-протокол позволяет избежать мошенничества.
      2. Https-протокол является фактором ранжирования сайтов в поисковых системах.
      3. Https-протокол свидетельствует о соблюдении конфиденциальности.
      4. Https-протокол постепенно охватывает все популярные сайты мира.
      5. Https-протокол на сайте повышает доверие пользователей к компании.
       
      Добавил kolomenec Добавлено 20.04.2017 Категория Услуги  
    • От kolomenec
      Здравствуйте! Предлагаю услуги по переходу сайтов на Opencart c http на https
       
      Для чего?
      С января 2017 года Google Chrome начнет помечать работающие на http-протоколе сайты, которые сохраняют пароли и данные о кредитных картах пользователей, как «небезопасные».
      Несколько причин для перехода!
      1. Https-протокол позволяет избежать мошенничества.
      2. Https-протокол является фактором ранжирования сайтов в поисковых системах.
      3. Https-протокол свидетельствует о соблюдении конфиденциальности.
      4. Https-протокол постепенно охватывает все популярные сайты мира.
      5. Https-протокол на сайте повышает доверие пользователей к компании.
       
    • От speecher
      Добрый день, прошу о точечной подсказке.
       
      Перевел сайт на хттпс: отредактировал файлы конфиг, сделал редирект, включил в настройках самого магазина.
      Сначала все было ок, позже вылезла проблема: часть изображение открываются по ссылкам HTTP, из-за этого пишет, что соединение не защищено.
       
      В консольке разработчиков везде одни и те же 8 фото - всякие спрайты для кнопок поиска и т.д. Если правильно понял, запрос на них дает вот этот скрипт: catalog/view/javascript/jquery/jquery-1.7.1.min.js
       
      Открывал его, добавил в двух местах к хттп букву "с", но без толку.
      Вопрос, как заставить это недоразумение запрашивать картинки по защищеному соединению ?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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