You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移至Cloudflare后WordPress/wp-admin后台无法访问求助

WordPress迁移Cloudflare后/wp-admin重定向到http://$domain/wp-admin/的解决方法

问题根源

出现$domain这种未解析的变量,核心原因是Apache配置里的重定向规则引用了未正确解析的变量,再加上Cloudflare的HTTPS配置与WordPress站点URL设置冲突,导致重定向规则里的变量直接以字符串形式返回给客户端。

解决步骤

1. 排查并修复Apache重定向配置

  • 登录服务器,打开WordPress根目录下的.htaccess文件,或者Apache虚拟主机配置文件(如/etc/apache2/sites-available/your-site.conf)
  • 查找包含$domain的重定向规则,比如可能存在这类错误代码:
    Redirect 301 /wp-admin http://$domain/wp-admin/
    
    这里的$domain要么是未在Apache中定义的变量,要么是变量名错误,导致无法被解析。
  • 修复方案:直接替换为你的实际域名,或者使用Apache内置的%{HTTP_HOST}变量(自动获取请求域名),同时强制HTTPS:
    Redirect 301 /wp-admin https://%{HTTP_HOST}/wp-admin/
    

2. 强制WordPress使用HTTPS站点URL

  • 若无法登录wp-admin,直接修改wp-config.php文件(WordPress根目录下),添加以下代码:
    define('WP_HOME','https://example.com');
    define('WP_SITEURL','https://example.com');
    define('FORCE_SSL_ADMIN', true);
    
    把example.com换成你的实际域名,FORCE_SSL_ADMIN会强制后台走HTTPS,避免HTTP跳转引发的问题。

3. 调整Cloudflare的HTTPS设置

  • 登录Cloudflare控制台,进入你的站点:
    • 转到SSL/TLS -> 概述,将SSL模式设置为完全或严格(不要用“灵活”模式,灵活模式会导致源站与Cloudflare之间用HTTP,易引发重定向混乱)
    • 检查规则 -> 页面规则,确认没有针对/wp-admin的错误重定向规则。

4. 清除缓存

  • 在Cloudflare控制台的缓存 -> 配置中,点击「清除缓存」->「清除整个缓存」
  • 清除浏览器的缓存和Cookie,避免旧的重定向规则被缓存。

验证

完成上述操作后,用命令行验证:

http -v get https://example.com/wp-admin

如果返回的Location头是https://example.com/wp-admin/(带实际域名和HTTPS),说明问题已解决。

内容的提问来源于stack exchange,提问作者tonsteri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:27:18