本地WordPress网站HTTPS转HTTP问题求助
问题原因及修复方案
可能原因
- 数据库中站点URL仍保留HTTPS配置:迁移时未更新站点核心URL字段,或是首页相关自定义设置(比如静态首页地址)仍为HTTPS格式
- 浏览器HSTS缓存:此前访问线上HTTPS站点时,浏览器存储了强制HTTPS跳转规则,即使本地用HTTP访问也会触发跳转
.htaccess残留HTTPS重写规则:线上环境的HTTPS重定向规则被同步到了localhost的配置文件中- 主题/自定义代码硬编码HTTPS跳转:部分主题或自定义函数里写死了首页跳HTTPS的逻辑,和SSL插件无关
修复步骤
1. 修正数据库中的URL配置
以WordPress为例:
- 用phpMyAdmin打开本地数据库,找到
wp_options表(前缀可能不同),将siteurl和home字段的值改为http://localhost/你的站点目录 - 检查静态首页、自定义菜单等关联设置,确保所有地址都改为HTTP格式
如果本地装有WP CLI,可直接执行命令:
wp option update siteurl 'http://localhost/your-site-folder' wp option update home 'http://localhost/your-site-folder'
2. 清除浏览器HSTS缓存
- Chrome/Edge:地址栏输入
chrome://net-internals/#hsts(Edge为edge://net-internals/#hsts),在「Delete domain security policies」输入localhost后点击Delete - Firefox:地址栏输入
about:config,搜索network.stricttransportsecurity.preloadlist并设为false,或直接清除浏览器缓存及Cookie
3. 检查并修改.htaccess文件
打开站点根目录的.htaccess,删除所有强制HTTPS跳转的规则(如下示例代码):
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
仅保留站点默认的重写规则即可。
4. 排查主题及自定义代码
- 打开主题
functions.php文件,搜索https、wp_redirect、header等关键词,删除强制跳转HTTPS的代码片段 - 检查首页编辑器内容、自定义菜单中的首页链接,确保没有硬编码的HTTPS地址
内容的提问来源于stack exchange,提问作者Yamen Bayer
相关产品推荐
相关产品推荐

