我在 iis 服务器上托管一个 next.js 应用程序,任何带有 [] (%5B, %5D) 的 url 都会返回 404 错误,其中包括为任何动态页面生成的 js 文件
例如,有文件位于
/_next/static/chunks/pages/Category/[category]-someid.js
/_next/static/chunks/pages/Category/%5Bcategory%5D-someid.js net::ERR_ABORTED 404 (Not Found)
这是一个类似的问题https://github.com/vercel/next.js/issues/54008,但它是用docker而不是iis。
我能够获取其他类型的块文件,但不能获取带有 [] 的动态路由块。如何让iis接受特殊字符?
我设置了allowDoubleEscaping = true
您也可以尝试在请求过滤中设置
allowHighBitCharacters
:
<configuration>
<system.webServer>
<security>
<requestFiltering allowHighBitCharacters="true">
</requestFiltering>
</security>
</system.webServer>
</configuration>