Правильные правила перенаправления SSL для поддоменов

RewriteCond %{HTTP_HOST} ^(.*.)*subexample.example.com$ [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://subexample.example.com/ [R]   

- Это то, что я использую. Это работает, пока я иду на определенную страницу, например subexample.example.com/orders.php. Но если вы попытаетесь перейти в корень поддомена, он добавляет дополнительный "/example" в конце.

любое предложение по набору правил, которые будут работать?


большое спасибо за ваши ответы!

на самом деле, это то, что я пытаюсь сделать:

http://support.mydomain.net >> https://support.mydomain.net

и(!)

http://support.mydomain.net/anypage* >> https://support.mydomain.net/anypage*

> RewriteCond %{HTTPS} off RewriteRule (.*)
> https://%{HTTP_HOST}%{REQUEST_URI}

работает, кроме I нужно оно только сделать его для support.mydomain.net

С вышеуказанной установкой, вы получаете предупреждение сертификата если вы пробуете пойти как раз mydomain.net, на котором у меня нет или нужен SSL-сертификат.

обновление!

другой вопрос, с этим правилом я уже писал выше, что если вы попробуйте зайти в корень поддомена (т. е. support.mydomain.net) он выходит на https://support.mydomain.net/support

это ведет меня с ума, помогите! =)

любая помощь будет принята с благодарностью!

5
задан slhck
источник

1 ответов

на основе вашего кода я предполагаю, что вы хотите сделать следующую переадресацию:

http://aaa.subexample.example.com -> https://subexample.example.com/aaa
http://subexample.example.com -> https://subexample.example.com/

и что последнее не работает.

Я бы переписал в двух разных частях перезаписи.

RewriteCond %{HTTP_HOST} ^subexample.example.com$ [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://subexample.example.com/ [L]

RewriteCond %{HTTP_HOST} ^(.+\.)+subexample.example.com$ [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://subexample.example.com/ [R]
1
отвечен David R. 2012-12-14 12:16:21
источник

Другие вопросы apache-http-server redirection ssl