Рекомендации по настройке файла .HTaccess для перенаправления субдомена HTTP на HTTPS-эквивалент - PullRequest
0 голосов
/ 20 марта 2011

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

Вопрос : Как настроить .htaccess так, чтобы все субдомены переадресовывались в их эквиваленты https, а также позволяли самому основному домену переноситься в его https-эквивалент? Другими словами:

  1. hxxp: //subdomain1.domain.com -> hxxps: //subdomain1.domain.com
  2. hxxp: //subdomain2.domain.com -> hxxps: //subdomain2.domain.com

... и так далее, но также ...

  1. hxxp: //domain.com -> hxxps: //domain.com

Текущая конфигурация : Мой .htaccess настроен на безусловную пересылку следующим образом:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://domain.com/$1 [R,L]

Чтобы достичь того, что я хочу, я бы подумал, что должен быть какой-то способ определить подстановочный знак и передать результат этого подстановочного знака как субдомен - будь то субдомен1, субдомен2 или значение ничего - для фактического перенаправления.

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 20 марта 2011

Я не проверял это, но он должен позволить вам захватывать поддомен, а также запрос.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(.*)\.yourdomain\.com$
RewriteRule ^(.*)$ https://%1.domain.com/$1 [R,L]

Однако это правило не будет работать для запросов, которые не содержат подкаталог,так что на самом деле вам нужны два правила.

RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^yourdomain\.com$
RewriteRule ^(.*)$ https://domain.com/$1 [R,L]
...