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

NextJS 12如何禁用public文件夹国际化(i18n)静态资源语言前缀路径

NextJS 12 i18n子路径模式下静态资源访问问题解决方案

当启用NextJS自带的i18n子路径模式后,非默认语言下静态资源被自动加上语言前缀的问题,可以通过以下方式解决:

  • 使用绝对路径引用静态资源
    所有静态资源(图片、样式文件等)的引用都改用绝对路径(以/开头),而非相对路径。这种方式会让资源直接指向根目录下的public文件夹,不会被添加语言前缀。
    示例代码:

    // 普通img标签引用图片
    <img src="/images/logo.png" alt="网站logo" />
    
    // next/image组件引用图片
    import Image from 'next/image';
    <Image src="/images/banner.jpg" alt="横幅" width={800} height={400} />
    
    // CSS中引用背景图
    .hero-section {
      background-image: url('/images/hero-bg.jpg');
    }
    
  • 规范public目录结构
    确保静态资源直接放在public根目录的对应文件夹中(比如public/images/),不要按语言拆分目录。这样绝对路径就能正确定位资源,无需额外配置。

  • 禁用相对路径引用
    不要使用./或../开头的相对路径引用静态资源,这类路径会被NextJS的i18n路由机制自动添加语言前缀,导致资源路径变为/en/images/xxx.png这类格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:15:03