.net - URL 中的 ASP.NET aspxerrorpath

标签 .net asp.net iis .net-3.5 iis-7

我有一个网站,我在 web.config 中使用 CustomErrors 来指定自定义错误页面,并且工作得很好。自定义 404 页面也在 IIS 配置中指定(因为如果没有指定,我将无法获得自定义 404 页面)。

但是,如果用户收到 404 错误,我会启动一些逻辑来查看其请求的 URL 并在适当的情况下提出导航建议。此逻辑依赖于 aspxerrorpath 值。在我的开发 PC 上,aspxerrorpath 已正确附加到 URL,如下所示: http://localhost:3092/FileNotFound.aspx?aspxerrorpath=/badpage.aspx ,但在我的测试站点上,URL 中没有附加 aspxerrorpath,因此我的所有自定义逻辑都被绕过,并且我的建议不起作用。我不确定这是 IIS 配置问题还是其他问题。 Web 服务器是带有 IIS 7 的 Windows Server 2008。

有什么想法吗?

非常感谢。

最佳答案

如果错误被 .NET 捕获(并且使用 web.config 中指定的错误页面),则会传递 aspxerrorpath 参数。如果您使用的是开发 Web 服务器,或者 IIS 配置为不检查文件是否存在,就会发生这种情况。

如果 IIS 检查文件存在,则使用 IIS 中配置的自定义错误,并且请求的 URL 包含在查询字符串中,如下所示

http://example.com/FileNotFound.aspx?404;http://example.com/badpage.aspx

关于.net - URL 中的 ASP.NET aspxerrorpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267138/

相关文章:

visual-studio - WebDeploy - 只是无法让它工作

PHP flush 在 IIS 8 中停止刷新

c# - 异步执行存储过程而不等待它并阻塞 UI

c# - 将数据网格绑定(bind)到集合

c# - 正数和负数的正则表达式 int 值由空格分隔

.net - Windows.Forms.ListBox 中的项目右对齐

c# - GridView : Database error when running on server, 在本地主机上工作正常

UpdatePanel 中的 ASP.NET 验证器

.htaccess - 如何将此 .htaccess 转换为 IIS web.config?

c# - 当我编辑代码时 ASP.NET 没有任何变化