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

Next.js 14生产环境服务器图片无法显示问题求助

排查Next.js静态导出后cPanel上图片显示损坏的问题

以下是针对性的排查和解决步骤:

1. 修正Next.js静态导出的图片优化配置

静态导出模式下,Next.js的Image组件默认图片优化功能无法生效,必须显式关闭优化才能正确加载原始图片。修改你的next.config.js:

const nextConfig = {
  output: 'export', // 静态导出配置
  images: {
    unoptimized: true, // 关键:关闭图片优化,适配静态导出
  },
};

module.exports = nextConfig;

修改后重新执行yarn run build,再上传新生成的out文件夹内容。

2. 检查构建后文件的上传路径

执行build后,public文件夹里的图片会被直接复制到out目录的根路径下。上传到cPanel时,要确保out里的所有文件(包括图片)直接上传到网站的根目录(通常是public_html),不要把整个out文件夹嵌套进去。比如图片实际访问路径应为https://你的域名/imageList1.jpg,而非https://你的域名/out/imageList1.jpg。

3. 核对文件名大小写

cPanel所在的Linux服务器区分文件名大小写,JSON里写的/imageList1.jpg必须和public文件夹里的图片文件名完全一致(包括大小写),不能出现imagelist1.jpg或ImageList1.jpg这类差异,否则会返回404导致图片损坏。

4. 检查文件权限

登录cPanel的文件管理器,找到图片文件右键查看权限:

  • 图片文件权限设置为644(所有者读写,组和其他只读)
  • 文件夹权限设置为755
    权限不正确会导致服务器拒绝访问图片,显示损坏状态。

5. 适配子目录部署路径(如果适用)

如果你的网站部署在cPanel的子目录下(比如public_html/your-subdir),需要修改JSON里的图片路径,把根路径/imageList1.jpg改成对应子目录的路径,比如/your-subdir/imageList1.jpg,或者使用相对路径imageList1.jpg(确保组件所在页面和图片的访问层级匹配)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 05:22:45