gpt4 book ai didi

asp.net - ResponseMode ="File"不工作

转载 作者:行者123 更新时间:2023-12-05 09:21:28 26 4
gpt4 key购买 nike

我想添加简单的 html 页面作为 IIS 的自定义错误。所以我将 404.html500.html 页面添加到项目并添加下一个配置:

<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="404" path="404.html" responseMode="File" />
<error statusCode="500" path="500.html" responseMode="File" />
</httpErrors>

HTML 页面位于 Views/Shared 文件夹中。但是每次当我转到一些不存在的路径 /foo/bar 时,我只会收到错误消息 您正在寻找的资源已被删除、名称已更改或暂时不可用。 这不是我的。

对于 ASP.Net 的自定义错误,我添加下一个配置:

<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Home/404">
<error statusCode="404" redirect="~/Home/404" />
<error statusCode="500" redirect="~/Home/500" />
</customErrors>

并从 FilterConfig 文件中删除 filters.Add(new HandleErrorAttribute()); 这一行。

我发现 html 页面的正确路径或将 / 更改为 \ 可能存在问题,但我发现的解决方案都没有帮助我。


我用的是IIS7+

最佳答案

Documentation这个设置很笨拙。


如果 httpErrors error 元素的 responseMode 设置为 Filepath被视为文件路径(使用\分隔目录)。


路径需要相对于包含具有此设置的 web.config 文件的目录。

如果 html 文件位于主目录(站点根目录\Home\404.html)并且

  • web.config 位于站点根目录中,路径为 Home\404.html
  • web.config 位于站点根目录\Home,路径为404.html

关于asp.net - ResponseMode ="File"不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32138200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com