带有集成管道的 IIS 7.5 中的页面 404,使用经典管道很好

发布于 2024-12-25 05:04:27 字数 515 浏览 1 评论 0原文

我在 IIS 7.5 下运行 sitecore 6.4,但遇到以下 URL 问题: http://www.thegreensheet.com/Classifieds/MERCHANDISE/Animals%20Pets%20and%20More.aspx?Id=3191212&city=Houston

基本上,当 IIS 处于打开状态时,布局呈现正常经典模式,但如果我将其更改为集成模式,我会得到 IIS 404 页面。真正奇怪的是,如果从本地服务器本身浏览,它可以在经典版和集成版中工作。在集成模式下,我们的所有其他项目/布局在 IIS 7.5 中都可以正常工作。 httpHandlers 和 handlers 标签下的所有处理程序都在那里......我真的很茫然......

谢谢, 詹姆斯

I'm running sitecore 6.4 under IIS 7.5 and I'm having a problem with the following URL:
http://www.thegreensheet.com/Classifieds/MERCHANDISE/Animals%20Pets%20and%20More.aspx?Id=3191212&city=Houston

Basically the layout renders normaly when IIS is in classic mode, but if I change it to intergrated I get an IIS 404 page. The really weird thing is that it works in both classic and intergrated if browsing from the local server itself. All our other items/layouts work fine in IIS 7.5 when under Intergrated Mode. All the handlers under httpHandlers and handlers tags are there... I'm really at a loss...

Thanks,
James

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

み零 2025-01-01 05:04:27

问题是该页面错误地将响应状态代码设置为 404。在经典模式下,IIS 将呈现页面内容并将状态设置为 404。在集成模式下,它会将状态代码设置为 404,但是渲染出 IIS 404 页面。我通过查看 IIS 日志并使用 Firefox 实时观察响应代码找到了它。抱歉,如果我浪费了任何人的时间。
——詹姆斯

The problem was the page was, in error, setting the response status code to 404. Under classic mode IIS would render out the contents of the page and set the status to 404. Under integrated mode it would set the status code to 404, but render out the IIS 404 page. I found it by reviewing the IIS logs and using firefox to watch the response codes in real time. Sorry if I wasted anyone's time.
-James

把人绕傻吧 2025-01-01 05:04:27

添加此

    Response.TrySkipIisCustomErrors = true;

如果您在设置之前

    Response.StatusCode = 404;

内容,那么 Sitecore 将能够处理错误并仍然返回 404 状态代码。

这是因为 Windows 2008 服务器运行的是 IIS 7.5,如果页面返回 HTTP 错误状态代码(例如 404 或 500),默认情况下,该页面将使用其默认错误页面覆盖 HTTP 响应。

If you add this

    Response.TrySkipIisCustomErrors = true;

before setting the

    Response.StatusCode = 404;

Then Sitecore will be able to handle the error and still return a 404 Status Code.

This is because Windows 2008 server is running IIS 7.5 which will by default override the HTTP response with its default error pages if the page returns a HTTP error status code such as 404 or 500.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文