Next.js 如何在部署到Vercel的下一个js中禁用目录列表

Next.js 如何在部署到Vercel的下一个js中禁用目录列表,next.js,vercel,Next.js,Vercel,我已经部署了内置于Next.js的网站,显然,当你部署下一个js应用程序时,你可以找到我感觉不太好的所有静态文件和资源的目录 目录是这样生成的:mydomain.com/\u next/static在我的例子中https://www.ovanya.com/_next/static/ 这是目录: 下一个问题是: 为了防止显示目录列表页面,请添加一个索引文件,如index.html,它将在访问目录路径时显示该文件 但我真的不明白应该将index.html文件添加到哪个目录?那么我应该把index.

我已经部署了内置于
Next.js
的网站,显然,当你部署下一个js应用程序时,你可以找到我感觉不太好的所有静态文件和资源的目录

目录是这样生成的:
mydomain.com/\u next/static
在我的例子中
https://www.ovanya.com/_next/static/

这是目录:

下一个问题是:

为了防止显示目录列表页面,请添加一个索引文件,如index.html,它将在访问目录路径时显示该文件

但我真的不明白应该将index.html文件添加到哪个目录?那么我应该把index.html放在哪里呢


还有一个问题:如果我就这样离开这个会不会很糟糕?它有任何风险或类似的东西吗?

应该需要递归地将
index.html
添加到
\u next
和每个子目录中。您可以通过编写一个构建后脚本来实现这一点

但是,这样做没有任何好处。没有暴露此目录或其中的文件的风险


\u next/static
只是编译的客户端资产,它必须是公共的。

我也在寻找解决方案,并尝试创建自定义编译后脚本,但没有成功。我的最终解决方案是在根项目目录中的
vercel.json
文件中创建重定向规则

这是我的
vercel.json

{
  "redirects": [
    {
      "source": "/_next",
      "destination": "/404",
      "statusCode": 404
    },
    {
      "source": "/_next/static",
      "destination": "/404",
      "statusCode": 404
    },
    {
      "source": "/_next/static/([A-z0-9_-]{21})",
      "destination": "/404",
      "statusCode": 404
    },
    {
      "source": "/_next/static/chunks",
      "destination": "/404",
      "statusCode": 404
    },
    {
      "source": "/_next/static/css",
      "destination": "/404",
      "statusCode": 404
    },
    {
      "source": "/_next/static/images",
      "destination": "/404",
      "statusCode": 404
    }
  ]
}
如果要隐藏其他目录,可以在>项目部署>源>输出中进行检查

使用此配置部署站点后,当您访问该URL时,将呈现404页面