【发布时间】:2018-05-21 23:02:35
【问题描述】:
我已经在我的 .htaccess 文件中尝试了以下所有方法。
#RewriteEngine On
#RewriteCond %{HTTPS} off
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#RewriteEngine On
#RewriteCond %{SERVER_PORT} !443
#RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L]
#RewriteEngine On
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteEngine On
# If we receive a forwarded http request from a proxy...
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
# ...or just a plain old http request directly from the client
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTPS} !=on
# Redirect to https version
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我在这台服务器上有两个虚拟主机,但似乎都没有工作我在 httpd.conf 文件中启用了 mod-rewrite。有什么想法吗?
【问题讨论】:
-
如果可以,请将您的配置放在 Apache 的主文件(或其中包含的一个)中,而不是
.htaccess。您将获得更高的安全性、更简单和更好的性能。 -
也许您的主机运行 apache 和 nginx,因此您的 .htaccess 被某些文件绕过?