перенаправление HTTPS HTTPS, исключая поддомены HTTPS

#.htaccess #https

#.htaccess #https

Вопрос:

Я знаю, что об этом здесь спрашивали много раз, но не могу найти правильную конфигурацию для моей установки.

Требования:

  1. http://www.example.com amp; https://www.example.com (amp; example.com ) необходимо перенаправить на https://test.example.com . (Обратите внимание, что это поддомен)
  2. https://sub_1.example.com должен быть ИСКЛЮЧЕН и не перенаправляться. (Обратите внимание, что поддомен имеет символ подчеркивания)

Что у меня есть:

 RewriteEngine On
RewriteBase /
# EXCLUDE following sub-domains.
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^sub_1.example.com$ [NC]
RewriteCond %{HTTP_HOST} !^test.example.com$ [NC]
# REDIRECT to
RewriteRule (.*) https://test.example.com/$1 [R=301,L]
  

>> ПРОБЛЕМА:
Мой https://sub_1.example.com на самом деле это API, который поддерживает мобильное приложение. Когда я использую приведенный выше код, мобильный сбой. Таким образом, кажется, что поддомен не исключен должным образом и не защищен от перенаправления.

Был бы признателен за некоторую помощь в его очистке.

Комментарии:

1. @anubhava — Я видел, как вы, ребята, отвечали на похожие вопросы. Не могли бы вы, пожалуйста, помочь в этом конкретном случае?

2. Привет @anubhava … Спасибо за быстрый ответ. Я допустил ошибку… это то, что необходимо ИСКЛЮЧИТЬ: sub_1.domain.com/api (обратите внимание на подпапку /api)

3. Ваше правило уже исключает sub_1.example.com

Ответ №1:

ИСПРАВЛЕНО!!

Необходимо было добавить исключение перед существующими правилами, поскольку мне нужно было исключить https://sub_1.example.com/api

 RewriteCond %{HTTP_HOST} ^sub_1.example.com [NC]
RewriteRule ^api - [L]