目前,服务器将任何 HTTP 请求重定向到http://www.example.com/index.php到 HTTPS。
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} index.php$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
但是,问题是当向http://www.example.com发出请求时,没有进行重定向。
在 {REQUEST_URI} 为空的情况下,如何使服务器重定向到 HTTPS。(我假设它是空的)
编辑:
在 akostadinov 的回答之后,我修改了 .htaccess 以包含它,并且重写工作。我会在这里发布,以防以后有人遇到同样的问题!
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]