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

如何在Next.js配置文件中为图片添加多个主机名和路径名?

正确配置Next.js next/image多远程主机的方法

你的配置错误在于每个remotePatterns对象只能对应单个主机名,不能用数组传递多个hostname;同时hostname不能包含https://前缀;另外如果pathname写具体路径,会限制只能加载该特定路径的图片,通常建议用通配符匹配主机下的目标图片路径。

修正后的next.config.js配置如下:

module.exports = {
  images: {
    remotePatterns: [
      // 配置i.ibb.co主机
      {
        protocol: 'https',
        hostname: 'i.ibb.co',
        port: '',
        pathname: '/**', // 匹配该主机下所有路径的图片
      },
      // 配置pexels主机(去掉https://前缀)
      {
        protocol: 'https',
        hostname: 'www.pexels.com',
        port: '',
        pathname: '/search/travel/**', // 匹配travel搜索路径下的所有图片,可按需调整
      },
    ],
  },
};

关键注意点:

  • 每个远程主机必须单独创建一个remotePattern对象,不能在同一个对象内放置多个hostname。
  • hostname仅需填写纯域名,无需添加http://或https://前缀。
  • pathname中的/**是通配符,代表匹配该路径下的所有子路径;如果仅需允许特定路径,可调整通配符规则,比如/x59q5zG/**只允许该目录下的图片。

配置完成后重启Next.js开发服务器,即可正常加载来自这两个主机的图片。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:05:06