在htaccess中检测https - 所有可能性

时间:2018-05-15 14:18:57

标签: .htaccess http https

RewriteRule .* - [E=protocol:http]

RewriteCond %{ENV:HTTPS} ^on$ [NC,OR]
RewriteCond %{ENV:REQUEST_SCHEME} ^https$ [NC,OR]
RewriteCond %{HTTPS} ^on$ [NC,OR]
RewriteCond %{REQUEST_SCHEME} ^https$ [NC,OR]
RewriteCond %{HTTP:X-Forwarded-Proto} ^https$ [NC]
    RewriteRule .* - [E=protocol:https]

上面的代码怎么可能不起作用?此代码以各种可能的方式逐字检查是否为http或https将其存储到var。

但最后protocol var总是http值。如果您输入http://example.comhttps://example.com

,则无关紧要

1 个答案:

答案 0 :(得分:0)

唯一对我有用的是:

RewriteCond %{SERVER_PORT} ^443$

很奇怪,最流行的方式不起作用。