我们的应用程序需要将HTTP请求重定向到HTTPS.
通常我会使用RewriteCond如下.
RewriteCond %{HTTPS} off
当前托管公司的问题是请求的端口始终为80.无论我们发送HTTP还是HTTPS请求都没有关系,$_ SERVER [‘SERVER_PORT’]始终为80.
我们可以在PHP中进行处理,但是我们也想将文件强制为HTTPS.
所以是具体的问题.无论如何,有没有在不使用RewriteCond(例如RewriteCond%{HTTPS}或RewriteCond%{SERVER_PORT})的情况下强制.htaccess中使用HTTPS的方法.
解决方法:
您的情况并不少见.尝试以下操作(X-Forwarded-Proto是用于标识HTTP请求的原始协议的事实上的标准):
RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]