Редирект с https на http с помощью .htaccess — инструкция

  • Быстрая оплата
  • Акции
  • Заработай
  • Хостинг сайтов
  • Домены
  • Конструктор
  • VPS
  • Выделенные серверы
  • Помощь
  • Контакты
  • Термины и определения
  • Биллинг (личный кабинет)
  • Финансовые вопросы
  • Домены и поддомены
  • Виртуальный хостинг
    • С чего начать работу
    • Какой тариф хостинга выбрать
    • Как зарегистрировать хостинг
    • Как оплатить и продлить хостинг сайта?
    • Как изменить тариф
    • Как перейти в панель хостинга
    • Как прикрепить домен к хостингу
    • Работа с файлами сайта
    • Настройка PHP
    • Управление базами данных
    • Настройка почты
    • Работа с CMS
    • Настройка с помощью .
      htaccess
      • Понятие о конфигурационном файле .htaccess
      • Правила редактирования .htaccess
      • Определение своего индексного файла (стартовой страницы)
      • Переопределение кодировки страниц и загружаемых на сервер файлов
      • Кодировка загружаемых на сервер файлов
      • Запрет выдачи списка файлов в каталоге
      • Регулярные выражения
      • Запрет доступа к ресурсам
      • Как сделать перенаправление с https на http
      • Примеры конфигурации файла .htaccess
      • Включить выполнение php скриптов в html файле
      • Как сделать перенаправление одного домена на другой
      • Как сделать редирект с домена без WWW на WWW и наоборот
    • Настройка планировщика (CRON)
    • Работа с резервными копиями
    • Поиск и удаление вирусов
    • Замена домена сайта
    • Удаление домена с хостинга
    • Как подключиться по SSH на хостинге
    • Как запретить доступ к сайту и отдельной папке
    • Ограничения тарифных планов
    • Лог ошибок на сервере
    • Как посмотреть access. log
    • Корневой каталог сайта
    • Индексная страница сайта
    • Установка своих страниц ошибок на сайте
    • Как освободить место на хостинге
    • Как узнать сколько ресурсов использует сайт?
    • Как получить 3 месяца хостинга бесплатно
    • Сообщение о переходе на тестовый домен
  • SSL-сертификаты
  • Конструктор сайтов
  • VPS и выделенные серверы
  • Полезные статьи
  • Утилиты
  • Помощь
  • Виртуальный хостинг
  • Настройка с помощью .htaccess

Принимаем

Все способы

apache — Как настроить редирект с https на http с помощью .

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

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

/(. *):NOSSL$ http://www.example.com/$1 [R=301,L]

Попытка 2

 RewriteEngine вкл.
RewriteCond %{HTTPS} на
Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI}
 

Обе описанные выше попытки не удались. Какие-либо предложения?

  • apache
  • .htaccess
  • http
  • https

Попытка 2 была близка к идеальной. Просто немного измените его:

 RewriteEngine On
RewriteCond %{HTTPS} на
Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
 

ОБНОВЛЕНИЕ:

Приведенное выше решение работает с технической точки зрения. НО :

Уже несколько лет пользователь будет получать огромное предупреждение о том, что соединение не является частным. Этого и следовало ожидать: ни один из сегодняшних браузеров не будет молча переключаться с зашифрованного соединения на незашифрованное по понятным причинам… Вы не можете обойти такое поведение стандартных браузеров. Однако это не имеет ничего общего с самим перенаправлением.

Так сегодня работает сеть, как пользователи защищены от преступных намерений.

16

Однако, если у вашего веб-сайта нет сертификата безопасности, он находится в среде общего хостинга, и вы не хотите получать «предупреждение» при запросе вашего веб-сайта через https, вы не можете перенаправить его с помощью htaccess . Причина в том, что предупреждающее сообщение срабатывает еще до того, как запрос будет передан в файл htaccess, поэтому вам нужно исправить это на сервере. Перейдите в /etc/httpd/conf.d/ssl.conf и закомментируйте часть о виртуальном сервере 443. Но есть вероятность, что ваш хостинг-провайдер не даст вам такого большого контроля. Таким образом, вам придется либо перейти на другой хост, либо купить SSL, чтобы предупреждение не срабатывало до того, как ваш htaccess получит возможность перенаправить. 9(.*)$ http://example.com/$1 [NC,L,R]

Перенаправить любой запрос (https://example.com/foo) от до http://example. com/foo .

  • $1 является частью регулярного выражения в шаблоне RewriteRule, он содержит любое значение, которое было захвачено в

    (.+) , в этом случае он захватывает полный request_uri после доменного имени.

  • [NC,L,R] — это флаги, NC делает регистр uri чувствительным, в запросе можно использовать как прописные, так и строчные буквы.

Флаг L указывает серверу прекратить обработку других правил, если текущее правило совпало. Важно использовать флаг L, чтобы избежать конфликта правил, если в блоке больше одного правила.

Флаг R используется для внешнего перенаправления.

 RewriteEngine включен
RewriteCond %{SERVER_PORT} 443
Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
 

0

Разница между http и https заключается в том, что HTTPS-запросы отправляются через соединение с шифрованием SSL. Соединение с шифрованием SSL должно быть установлено между браузером и сервером до того, как браузер отправит HTTP-запрос.

Запросы HTTPS на самом деле являются запросами HTTP, которые отправляются через зашифрованное соединение SSL. Если сервер откажется установить зашифрованное соединение ssl, у браузера не будет соединения для отправки запроса. Браузер и сервер не смогут общаться друг с другом. Браузер не сможет отправить URL-адрес, к которому он хочет получить доступ, и сервер не сможет ответить перенаправлением на другой URL-адрес.

Так что это невозможно. Если вы хотите отвечать на https-ссылки, вам нужен ssl-сертификат.

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

3

Ваш код правильный. Просто поместите их внутрь

Пример:

 
  SSLEnable
  RewriteEngine включен
  RewriteCond %{HTTPS} на
  Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI}

 

apache — перенаправить https на http на сервере без https с помощью htaccess

Задавать вопрос

спросил

5 лет, 11 месяцев назад

Изменено 2 года, 4 месяца назад

Просмотрено 11 тысяч раз

Мой сервер не настроен для HTTPS, однако некоторые пользователи все еще используют HTTPS в URL-адресе. Это мешает моему приложению чата работать должным образом. 9чат/текст$ http://%{HTTP_HOST}/$1 [R=301,L,NC]

Что я делаю не так?

  • apache
  • .htaccess
  • перенаправление
  • mod-rewrite

Вы не можете перенаправить https на http или сертификат sl вашего сервера включен. Вы получите ошибку сертификата ssl, если у вас нет сертификата ssl. Вам нужно купить ssl-сертификат для вашего домена, чтобы перенаправить https на http.

9чат http://example.com%{REQUEST_URI} [L,R=301]

0

Если на вашем сервере нет HTTPS, не будьте избирательны, перенаправьте все на HTTP

 # Перенаправьте HTTPS на HTTP
RewriteEngine включен
RewriteCond %{HTTPS} на
Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
 

Следующая окончательно решенная проблема для меня:

Перенаправление всех https и/ИЛИ www запросов на 9(.