如何正确地从 HTTP 重定向到 HTTPS
理想情况下,我们不应将 HTTP 上的流量重定向到 HTTPS,因为这会造成安全风险。
在以前仅支持 HTTP 的网站上首次启用 HTTPS 时,进行重定向(临时放置 301 重定向)可能有助于搜索引擎更新其链接;但通常应该尽快再次禁用它。
这是因为,如果用户从过时的链接或者直接在浏览器地址列中键入“http”访问 HTTP 版本,则有可能进行中间人攻击,并且攻击者可能会窃取用户凭据或者充当真实站点和黑客控制的恶意站点之间的代理。
这可能使黑客能够查看、拦截和修改用户在真实站点上所做的一切。
如果我们仍然需要使用重定向,我建议我们从 Apache VHOST 配置文件中进行;如果这是不可能的,请使用 .htaccess 或者插件作为最后的手段。
它还取决于主机如何安装 SSL 证书。
通常,不需要插件,因为 SSL 是在服务器级别配置的。
阻止 Wordpress 重定向到 HTTPS
如何删除重定向将取决于导致问题的原因。
请务必检查 .htaccess 文件并删除任何不应该存在的重定向。
检查siteurl 和home 选项是否配置正确。
要手动更新 siteurl 和 home 选项,可以使用以下查询:
UPDATE wp_options SET option_value='http://local-test.beta' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value='http://local-test.beta' WHERE option_name = 'home';
请务必检查 wp_options 表的名称,因为根据安装和/或者托管的不同,数据库表可以具有自己的唯一前缀。
- 如果你安装了一个非常简单的 ssl 插件,你可以简单地从插件文件夹中删除它以摆脱它。
在 Linux 中,这可以通过终端或者文件管理器完成:
rm -R /var/www/local-test/wp-content/plugins/really-simple-ssl/
完成所有操作后,请务必关闭浏览器并打开一个隐身窗口,以防止其缓存重定向响应。
Wordpress 有时会自动从 HTTP 重定向到 HTTPS ,这种自动重定向通常很糟糕,因为它往往会引起混淆——幸运的是,它通常很容易修复。
将 Wordpress 网站移动到本地托管的域后,通常会出现此问题——尤其是在手动移动网站时。
出现问题的原因可能包括以下一种或者多种情况:
- 在 .htaccess 中配置了重定向,或者很少在 Apache VHOST 文件中配置。
- 移动后,siteurl 和 home 选项可能配置不正确。
- 一个插件,例如非常简单的 ssl,导致从 HTTP 重定向到 HTTPS。
在本地测试服务器上通常不需要重定向,因为很少需要在本地使用 HTTPS。