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

Magento执行setup:upgrade后URL出现%7B%7Bsecure_base_url%7D%7D异常

Magento执行setup:upgrade后URL携带%7B%7Bsecure_base_url%7D%7D的故障原因

%7B%7Bsecure_base_url%7D%7D是占位符{{secure_base_url}}经过URL编码后的结果,出现这个问题的核心逻辑是:执行setup:upgrade命令时Magento会重新聚合全量系统配置、重建配置缓存、重生成部分静态资源,这个过程中没有拿到正确的实际域名值,直接把原始占位符输出到了前端页面、静态资源、跳转链接里,常见触发原因有4类:

  • 数据库配置值错误
    数据库core_config_data表中web/unsecure/base_url、web/secure/base_url两个配置项的值,本身被错误设置成了{{secure_base_url}}占位符,没有填写实际的站点域名。之前如果靠旧的配置缓存、临时服务器变量覆盖了错误值,前端不会出问题,执行setup:upgrade会自动清空旧配置缓存重新读表,错误值就会全局生效。
  • 配置优先级冲突
    如果在app/etc/env.php、服务器环境变量、Nginx/Apache的fastcgi参数里硬编码了base_url配置,且值误写为{{secure_base_url}},这类配置的读取优先级高于数据库配置,执行升级命令触发配置重新聚合时,错误值会覆盖数据库里的正确域名,导致所有URL解析失败。
  • 静态内容生成异常
    执行setup:upgrade过程中如果触发了静态资源部署,遇到目录权限不足、进程被意外中断、部署模式不匹配的问题,静态资源(JS、CSS、模板编译文件)里的URL占位符替换逻辑没有执行完成,未替换的占位符会被直接写入生成的静态文件,前端渲染时就会直接输出编码后的占位符内容。
  • 自定义代码/第三方模块干扰
    部分做多域名切换、URL重写的第三方模块或者自定义代码,在升级脚本里错误修改了base_url的解析逻辑,或者禁用了Magento原生的占位符替换过滤器,导致系统读取到base_url配置后,不会把占位符替换成实际域名,直接返回原始值给前端调用。

快速排查修复提示:优先核对core_config_data表和env.php里的base_url配置值,确认配置正确后,依次执行bin/magento cache:clean config、bin/magento setup:static-content:deploy,给var/、pub/、generated/目录重置正确的读写权限即可恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 18:48:27