现在我的域名www.example.com
设置为强制HTTPS,并且可以正常工作。该网站还将所有内容正确链接到HTTPS。(数据库中任何地方都没有出现HTTP)。
但是,如果您正在访问子页面,您可以再次将url更改为HTTP,例如http://example.com/subpage/
而且它不会强制HTTPS。
我在我的.htaccess
在根目录中:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
你知道这是什么原因吗?
最合适的回答,由SO网友:leymannx 整理而成
要将所有页面全局重定向到HTTPS,请将以下行添加到.htaccess
:
# Globally force SSL.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
应直接放置在
RewriteEngine on
如果之前没有重写。