无论我使用什么简单的规则来强制SSL,都会发生重定向循环。我一直在寻找不同的方法来强制SSL几天,我现在有
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
作为.htaccess中的唯一规则,它不应该导致无限重定向循环,但即使这会导致重定向循环。知道会发生什么事吗?
RewriteCond %{HTTP_HOST} ^test\.com [NC]
RewriteCond %{SERVER_PORT} !443
RewriteRule ^(.*)$ https://www.test.com/$1 [R,L]
此规则确实有效,但不适用于子文件夹。不知道有什么区别。在apache的配置文件中可能会发生什么吗?如果是这样,我会寻找什么?
编辑 - 检查端口(Apache 2.4)以防万一。 80仍然是http,443仍然是https。