如果我编辑 wp-config.php
,我应该添加:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
然而,我的网站有.htaccess
规则,强制在整个网站上使用https和www:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} ^website.com
RewriteRule ^(.*)$ https://www.website.com/$1 [L,R=301]
我知道还有其他的重写规则可用,但我不确定哪一个是正确的。
以下三种重写规则中,我应该在wp-config.php
中使用哪一种?
1 - 不使用isset(),使用花括号,使用server_port
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
}
2 - 没有花括号和server_port怎么办?
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';
3 - 花括号是否必要/更好或“更正确”,server_port是否必需?
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
}
我在互联网上找到了几个关于WordPress SSL的略有不同的变体,但我无法弄清哪个是正确/主要的...