Я запускаю сайт, который имеет 2 отдельных поддомена - один для HTTP и другой для HTTPS.Isapi Rewrite - сохранение HTTPS в перенаправлении за балансиром нагрузки
http://www.example.com
https://secure.example.com
http://secure.example.com
не существует и не будет решать.
Проблема в том, что сайт работает за балансировщиком нагрузки, который обрабатывает все SSL. Связь между балансировщиком нагрузки и веб-серверами всегда в HTTP.
Таким образом, при использовании Isapi Rewrite 3 (клон mod_rewrite для IIS) для реализации некоторых перенаправлений я столкнулся с проблемой.
Что касается Isapi Rewrite, то HTTPS отключается - поэтому перенаправления на secure.example.com
не выполняются.
Скажем, у меня есть правило, которое говорит:
RewriteRule ^/example/$ /test/ [R=301,L]
Если я сделать запрос на https://secure.example.com/example/
Я хотел бы, чтобы в конечном итоге на https://secure.example.com/test/
, но, так как ISAPI Rewrite видит HTTPS в положение OFF, я заканчиваю вверх на http://secure.example.com/test/
.
Есть ли способ заставить перенаправления быть HTTPS, если домен secure.example.com
?
Что-то вдоль линий этого:
RewriteCond %{SERVER_NAME} secure.example.com
RewriteRule ^/(.*)$ https://secure.example.com/$1
Кроме того, что не работает - она сразу заставляет явное перенаправление, в то время как я хочу продолжить обработку других RewriteRules
.
Спасибо,
Stu
Благодаря человеку - это действительно работает! Я надеялся, что есть способ запустить проверку домена за один раз, а не перед каждым правилом - иначе мой файл .htaccess станет довольно раздутым! Возможно, это слишком много надеется ... – stubotnik
Если вы введете эти правила в .htaccess в корень secure.example.com, вы можете вообще опустить проверку хоста. – TonyCool
Я слышал, вы, к сожалению, в настоящее время ограничены использованием того же файла .htaccess на защищенных и www-доменах. Отметьте это как ответ - спасибо за помощь! – stubotnik