我有一个(简单的亚马逊)负载平衡器后面的apache服务器。 我想redirect到443不是443的任何传入stream量。我宁愿它只使用一个apache虚拟主机。 所以我试图检测,如果HTTP_X_FORWARDED_PORT标头不是443。
我已经检查了RewriteCond文档 ,它只适用于一套有限的HTTP头文件。
基本上我正在做的是这样的:
<VirtualHost *:80> ServerName www.example.com RewriteEngine On RewriteCond %{HTTP_X_FORWARDED_PORT} !=443 RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] .... </VirtualHost>
但RewriteCond不识别HTTP_X_FORWARDED_PORT。
有没有其他的方法来完成这个(只有一个VirtualHost)? (一些types的传入头检查?)
谢谢,兰斯
在RewriteCond文件的下面:
%{HTTP:header},其中header可以是任何HTTP MIME头名称
所以,你可以做到这一点,只是不像预解压缩标题的forms。
尝试这个:
RewriteCond %{HTTP:X-Forwarded-Port} !=443 RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]