我有这个PHP代码来强制HTTPS(我知道我也可以使用.htaccess
)。
if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') {
if(!headers_sent()) {
header("Status: 301 Moved Permanently");
header(sprintf(
'Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
));
exit();
}
}
这会更改此网址
http://website/foo/
要
https://website/index.php
但更改此网址
http://website/foo/bar?this=that
要
https://website/foo/bar?this=that
为什么会发生这种情况,如何在不丢失网址的情况下只更改为HTTPS