Angular js 扩展文件的路由 404(asp.net 核心 IIS 详细错误暴露物理目录)

Angular routing 404 for js extension files (asp.net core IIS detailed error exposing physical directory)

我在 IIS 上托管的 Asp.net 核心应用程序的 Startup.cs 文件中设置了 SPA (Angular)。在我的应用程序中,有一个针对不正确网址的自定义 404 错误页面。

当导航到不正确的网址时,例如 - https://myapplication.com/assets/js/mordernizer.min & https://myapplication.com/assets/js,我收到自定义错误页面。

但是扩展名为 .js 的路由 - https://myapplication.com/assets/js/mordernizer.min.js(此文件不存在)给我 404 未找到 IIS 详细错误。这暴露了我的服务器的物理目录,这是问题所在。

有没有办法Angular我可以处理请求js扩展文件的路由?我的 IIS 配置 - httperrors errormode= custom 也不能正常工作。有什么解决办法吗?

您需要设置httpErrors errorMode="DetailedLocalOnly"。只有本地请求可以看到详细的错误信息,远程请求可以看到自定义错误页面。

例如:

 <httpErrors errorMode="DetailedLocalOnly">
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" responseMode="File" path="404.html" />
    </httpErrors>

问题已解决!我只需要在 Angular 级别(dist 文件夹)的 web.config 文件中设置 httpErrors 配置。这段时间我一直在修改 Asp.net 核心应用程序 web.config 文件。无论如何谢谢!