我正在运行一个有2个独立子域的站点 - 一个用于HTTP,另一个用于HTTPS。
http://www.example.com
https://secure.example.com
http://secure.example.com
不存在且无法解决。
问题是该站点正在负责处理所有SSL的负载均衡器后面运行。负载均衡器和Web服务器之间的通信始终是HTTP。
因此,当使用Isapi Rewrite 3(IIS的mod_rewrite克隆)实现某些重定向时,我遇到了问题。
就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/
。
如果域名为secure.example.com
,我是否可以强制重定向到HTTPS?
有些事情如下:
RewriteCond %{SERVER_NAME} secure.example.com
RewriteRule ^/(.*)$ https://secure.example.com/$1
除非不起作用 - 它会立即强制显式重定向,而我想继续处理其他RewriteRules
。
谢谢,
斯图
答案 0 :(得分:1)
这样的smth怎么样:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^secure\.mydomain\.com$ [NC]
RewriteRule ^/example/$ https://secure.mydomain.com/test/ [R=301,L]