【问题标题】:IIS7 Custom Error URL Redirects Not Working with non-physical filesIIS7 自定义错误 URL 重定向不适用于非物理文件
【发布时间】:2009-06-29 22:22:28
【问题描述】:

所以这就是问题所在。我们运行 Sitecore,它会重写 URL,并允许 example.com/Folder/Page.aspx 之类的东西成为正确的 URL。

现在,“文件夹”实际上并不存在于文件系统中,“Page.aspx”也不存在。但是这些 URL 可以工作,因为 ASP.NET 做了它应该做的事情。

好的,现在假设我尝试访问一个不存在的网页,例如 example.com/idontexist.html。这在文件系统中不存在,并且不使用 ASP.NET 来解析文件,所以我们得到一个 IIS7 404 错误。

现在,我想使用 URL 将 404 错误页面更改为自定义错误页面。比如说,URL 是 example.com/ErrorPage.aspx。这个页面实际上不是物理页面,而是 Sitecore 中的一个项目。

在 IIS 管理器的自定义错误配置中,我试图将 404 错误更改为指向“URL 重定向”,并且我使用“/ErrorPage.aspx”作为 URL 重定向。当我尝试转到一个不存在的 URL 时,IIS7 出现错误,提示它找不到 /ErrorPage.aspx。

在 IIS6 中,这不是问题,一切正常。但是在 IIS7 上,我重定向到一个不在服务器上的 URL。

帮助!

【问题讨论】:

    标签: asp.net iis-7 sitecore


    【解决方案1】:

    长话短说,事情是这样的:

    1) 配置 IIS,使 404 错误转到“default.aspx” 2)创建一个实际处理您想要处理的页面。

    参考链接,SDN原件:

    http://sdn5.sitecore.net/upload/sitecore6/handling_http_404_a4.pdf http://sdn.sitecore.net/upload/sitecore6/dynamic_links_a4.pdf

    【讨论】:

    • 好吧,处理 http 404 PDF 是一个真正的帮助。我将处理器添加到管道中,这似乎起到了作用。我现在面临的问题是,在 IIS 中,对于像 example.com/text.txt 这样的非 asp.net 项目,如果该文本文件不存在,我尝试将自定义错误映射到执行 URL /Default.aspx,但是给了我一个错误。似乎我在 IIS 的自定义错误功能中添加的任何 *.aspx 扩展名都会返回一般的 404 错误。
    • 是的,IIS 通常不会涉及非 ASP 已知的扩展。您可以 A) 映射它们,以便 .HTML、.TXT 等转到 .NET 处理程序,就像 .aspx 和 .asmx 等一样 - 或 B) 启用涉及 ASP.NET 的集成管道(仅限 IIS7)在所有页面请求中。然而,这两种选择都有一些注意事项。
    猜你喜欢
    • 1970-01-01
    • 2013-05-15
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 2014-12-02
    • 1970-01-01
    相关资源
    最近更新 更多