温馨提示:本文翻译自stackoverflow.com,查看原文请点击:.htaccess - WordPress redirect all HTTPS to HTTP
.htaccess ssl wordpress

.htaccess - WordPress将所有HTTPS重定向到HTTP

发布于 2020-04-10 18:12:24

我们有一个WordPress网站,并且曾经有一个SSL证书。该站点以前都是HTTPS,现在我们不再需要SSL,因此我们让它过期。

我们已经在管理面板中将站点地址WordPress地址更改http://example.com

https://如果用户https://在站点中断的情况下访问网站,或者用户在浏览器中收到警告消息,则有大量链接可以直接返回给我们

底线是,我们需要将所有https://流量重定向http://

我尝试了几个插件(没有运气):

甚至更改了.htaccess文件(仍然没有运气)

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

不知道我还需要做什么。

查看更多

提问者
user1251762
被浏览
127
drew010 2017-11-21 01:15

这里的问题在于,在使用Apache或WordPress之前,浏览器需要通过连接,执行SSL握手,交换(和验证)证书以及仅在所有之后通过HTTPS与服务器建立连接。完成后,浏览器将发出HTTP请求,该请求告诉服务器它正在寻找什么资源。

因此,如果没有.htaccess或WordPress插件,则无需他们建立安全的会话就无法重定向用户。

当然,如果您安装了自签名证书,则在发生任何此类情况之前,将向用户显示警告。如果您是偶然的(似乎不是演员)已经通过https发送严格传输安全标头,那么以前的访问者的浏览器甚至可能不允许他们通过HTTP连接。

如果要将HTTPS流量重定向到HTTP,不幸的是,您将必须获取有效证书并使用.htaccess或某些PHP代码进行重定向。

如果您要寻找大多数浏览器信任的证书而无需付费,则可以从Let's Encrypt获得免费证书

底线是,如果要无缝地将HTTPS流量重定向到HTTP而没有任何警告消息,则需要从受信任的CA安装另一个SSL证书。