Как отключить перенаправление SSL для конкретного URL?

Вопрос или проблема

У меня есть конкретный URL, который должен быть доступен без SSL, чтобы некоторые старые устройства могли получить к нему доступ. Причина в том, что у этих старых устройств этот URL закодирован в программе.

URL: http://domain.com/server

Мой .htaccess выглядит так:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Redirect 301 /server http://sub.domain.com/server

Тем не менее, устройства не могут даже получить доступ к первому URL, поскольку он постоянно перенаправляется на https://domain.com/server

Ваш URL http://domain.com/server должен работать без проблем. Скорее всего, вы активировали перенаправление на HTTPS для вашего сайта.

Вам стоит проверить:

  1. Есть ли у вас плагин безопасности или другого типа, который заставляет перенаправление на HTTPS, и отключить это перенаправление. (Скорее всего, они отредактируют ваш файл .htaccess, чтобы принудительно включить HTTPS)
  2. Проверьте файл .htaccess на наличие пользовательского фрагмента, который заставляет перенаправление на HTTPS
  3. Проверьте настройки вашего хостинга. Возможно, перенаправление на HTTPS активировано оттуда.

Ответ или решение

Чтобы отключить перенаправление SSL для определённого URL, необходимо внести изменения в файл .htaccess, который является конфигурационным файлом для веб-сервера Apache. Учитывая, что у вас уже имеется базовая настройка с правилами переписывания и редиректами, я предоставлю подробные инструкции, которые помогут решить вашу проблему с доступом старых устройств.

Шаги по отключению перенаправления SSL для конкретного URL

  1. Проверка общего перенаправления: Убедитесь, что у вас нет настроенного глобального правила перенаправления всего HTTP-трафика на HTTPS. Для этого необходимо внимательно изучить файл .htaccess, а также любые плагины или настройки вашего хостинга, которые могут принудительно переводить сайты на безопасный протокол.

  2. Изменение файла .htaccess: Внесите следующие изменения в ваш файл .htaccess, чтобы исключить конкретный URL из перенаправления на HTTPS. Вот пример, как это может выглядеть:

    RewriteEngine On
    RewriteBase /
    
    # Исключить /server из редиректа на HTTPS
    RewriteCond %{HTTPS} off
    RewriteCond %{REQUEST_URI} ^/server$
    RewriteRule ^ - [L]
    
    # Обычное перенаправление на HTTPS для всех остальных URL
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    # Остальные правила
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
    Redirect 301 /server http://sub.domain.com/server

    В этом изменении мы добавили условия, которые проверяют, не является ли запрашиваемый URI /server, и если это так, мы позволяем запросу пройти без перенаправления на HTTPS.

  3. Тестирование изменений: После внесения этих изменений в файл .htaccess, обязательно протестируйте доступ к URL http://domain.com/server с устройств, которые ранее не могли подключиться. Это позволит убедиться, что новое правило работает корректно.

  4. Проверка наличия других источников конфигурации: Если после внесения изменений в файл .htaccess перенаправление всё равно продолжается, проверьте:

    • Назначенные плагины: Некоторые плагины безопасности могут автоматически добавлять правила HTTPS. Деактивируйте их, если необходимо.
    • Хостинг: Обратитесь к панелям управления или документации вашего хостинга для поиска настроек, которые могут перенаправлять трафик на HTTPS.

Заключение

Следуя описанным шагам, вы сможете отключить перенаправление SSL для конкретного URL, что позволит вашим старым устройствам успешно получать доступ к нужному ресурсу. Важно заботиться о безопасности, но в вашем случае необходимость поддержания работоспособности устаревших устройств требует таких исключений. Если после всех этих попыток проблема не решится, возможно, стоит обратиться за дополнительной помощью к вашему хостинг-провайдеру или специалисту по веб-разработке.

Оцените материал
Добавить комментарий

Капча загружается...