【发布时间】:2015-05-26 20:01:59
【问题描述】:
我已经尝试了以下方法(也尝试了注释掉的未注释),但只得到一个错误:
您要查找的资源已被删除,有它的名字 已更改,或暂时不可用。
在已发布网站项目的 web.config 中:
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404"/>
<!--<error statusCode="404" responseMode="File" path="\Error\404.htm"/>-->
<error statusCode="404" responseMode="ExecuteURL" path="http://example.com/Error/404.htm"/>
</httpErrors>
</system.webServer>
我尝试将浏览器中的 url 从 .../default.aspx(这很好)更改为 .../abc.aspx。
这是重定向到错误页面的正确方法,还是这里有一些错误?
编辑
我发现如果我尝试http://example.com/nonExistingPage - 它会 重定向到错误页面。但不是来自http://example.com/Folder/nonExistingPage
编辑 2
通过指定example.com 之后的路径部分解决了问题。但是 - 该网站已发布到 example.com/subfolder 并且当有人导航到 example.com/nonExistingFolder 时 - 不会显示自定义错误页面。
【问题讨论】:
-
ref 编辑 2:如果网站发布到
example.com/subfolder,则不会对尝试访问example.com/nonExistingFolder的人产生任何影响。 web.config 只会从网站的根目录向前应用(即example.com/subfolder/nonExistingFolder) -
@kspearrin 实际上,我有一个 Web 应用程序发布到域的根目录,其中的工作 web.config 指定了 404 页面。但在这里失败了。