我正在将我的协议从http更改为https。
我已将wordpress安装为子目录(例如:www.example.com/blog)
我将服务器置于负载平衡器后面,对负载平衡器的请求是加密的,但对服务器的请求不是加密的。
我更新了home
和siteurl
反映https地址的参数。我将以下代码添加到wp-config.php
文件:
if (strpos($_SERVER[\'HTTP_X_FORWARDED_PROTO\'], \'https\') !== false)
$_SERVER[\'HTTPS\']=\'on\';
出于某种原因,当我转到url时https://www.example.com/blog, 发生以下重定向:https://...blog -> http://...blog/http://...blog/ -> https://...blog/
我可以接受一个重定向(添加斜杠的重定向),但我不明白为什么它会重定向到http://
住址我在设置中没有看到仍然引用的任何内容http://
.
为什么要这样做?
我已尝试清除浏览器的缓存。我也有一个。htaccess文件,但我怀疑它与此无关,因为即使在.htaccess
文件已注释
有人仍然发现htaccess
文件相关:我在htaccess
文件:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
用于将http重定向到https和
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
我想是为了添加斜杠。虽然第一条规则不相关(因为我要直接到https
地址)。评论第二条规则对问题没有影响。
在我的设置中是否有其他地方需要更新wordpress,以了解我正在使用https
?
谢谢