Mod rewrite Isapi重写-在负载平衡器后面的重定向中保留HTTPS
我正在运行一个站点,它有两个独立的子域——一个用于HTTP,另一个用于HTTPSMod rewrite Isapi重写-在负载平衡器后面的重定向中保留HTTPS,mod-rewrite,redirect,https,isapi-rewrite,load-balancing,Mod Rewrite,Redirect,Https,Isapi Rewrite,Load Balancing,我正在运行一个站点,它有两个独立的子域——一个用于HTTP,另一个用于HTTPS http://www.example.com https://secure.example.com http://secure.example.com不存在,将无法解析 问题是该站点运行在一个负载平衡器后面,该负载平衡器处理所有SSL。负载平衡器和web服务器之间的通信始终使用HTTP 因此,当使用Isapi Rewrite 3(IIS的mod_Rewrite克隆)实现一些重定向时,我遇到了一个问题 就Isap
http://www.example.com
https://secure.example.com
http://secure.example.com
不存在,将无法解析
问题是该站点运行在一个负载平衡器后面,该负载平衡器处理所有SSL。负载平衡器和web服务器之间的通信始终使用HTTP
因此,当使用Isapi Rewrite 3(IIS的mod_Rewrite克隆)实现一些重定向时,我遇到了一个问题
就Isapi重写而言,HTTPS已关闭-因此secure.example.com
上的重定向失败
假设我有一条规则,上面写着:
RewriteRule ^/example/$ /test/ [R=301,L]
如果我请求https://secure.example.com/example/
我想以https://secure.example.com/test/
但是,由于Isapi Rewrite将HTTPS视为关闭状态,因此我最终选择了http://secure.example.com/test/
如果域是secure.example.com
,有没有办法强制重定向到HTTPS
大致如下:
RewriteCond %{SERVER_NAME} secure.example.com
RewriteRule ^/(.*)$ https://secure.example.com/$1
但这不起作用-它会立即强制显式重定向,而我希望继续处理其他重写规则
谢谢
斯图像这样的smth怎么样:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^secure\.mydomain\.com$ [NC]
RewriteRule ^/example/$ https://secure.mydomain.com/test/ [R=301,L]
谢谢你,伙计,这确实管用!我希望有一种方法可以运行一次域检查,而不是在每个规则之前-否则我的.htaccess文件将变得非常臃肿!也许这是希望太多了…如果你把这些规则放在secure.example.com根目录下的.htaccess中,你可以完全忽略主机检查。我听到了-不幸的是,我目前只能在secure和www域上使用相同的.htaccess文件。将此标记为答案-感谢您的帮助!