2012-01-06 67 views
2

我IIS 7.5下運行Sitecore的6.4和我在與以下URL的一個問題: http://www.thegreensheet.com/Classifieds/MERCHANDISE/Animals%20Pets%20and%20More.aspx?Id=3191212&city=Houston頁IIS 7.5中的404 Intergrated管道,細跟經典管道

基本上佈局呈現normaly當IIS是在經典模式,但如果我將其更改爲集成,我會得到一個IIS 404頁面。真奇怪的是,如果從本地服務器本身進行瀏覽,它可以在經典和集成兩種模式下工作。在集成模式下,所有其他項目/佈局在IIS 7.5中都能正常工作。所有下HttpHandlers的和處理程序標籤的處理程序是有......我真的很茫然......

謝謝, 詹姆斯

回答

3

的問題是頁的,錯誤的,設置響應狀態代碼到404.在經典模式下,IIS將呈現頁面內容並將狀態設置爲404.在集成模式下,它將設置狀態代碼爲404,但會呈現IIS 404頁面。我通過查看IIS日誌並使用firefox實時查看響應代碼來找到它。對不起,如果我浪費了任何人的時間。 -James

+3

你沒有浪費HTTP錯誤狀態代碼任何人的時間。您找到了解決方案並將其發佈以供其他人使用。下一個遇到同樣問題的人會知道如何解決這個問題。 – 2012-01-07 11:55:34

+0

感謝您分享解決方案,事實上這並不是浪費時間。 – Younes 2012-01-10 09:07:09

1

如果設置

Response.StatusCode = 404; 

然後Sitecore的就能處理錯誤,仍然返回404個狀態碼前添加此

Response.TrySkipIisCustomErrors = true; 

這是因爲Windows 2008服務器正在運行IIS 7.5,這將默認覆蓋其默認的錯誤頁面的HTTP響應,如果頁面返回諸如404或500