我的網站被配置爲在發生錯誤時顯示自定義HTML頁面。這在IIS和ASP.NET Development Server上都可以正常工作。但是,只要將應用程序部署到Windows Azure,我就可以獲得HTTP 500而不是非ASP.NET-URL。httpErrors config部分在Windows Azure中不起作用
這是相關的web.config截面是什麼樣子:
<httpErrors errorMode="Custom">
<clear />
<error statusCode="404" path="/Public/Error404.html" responseMode="ExecuteURL" />
</httpErrors>
<customErrors defaultRedirect="/Public/Error.html" mode="On">
<error redirect="/Public/Error404.html" statusCode="404" />
</customErrors>
的customErrors
部分(適用於在結束的.aspx URL)的正常工作。但是,httpErrors
部分沒有。儘管Azure的IIS發送500到瀏覽器,它記錄了404:
2012-02-10 13點30分07秒W3SVC1273337584 RD00155D3A1439 10.61.70.39 GET /asdfdsaafds - 80 - 65.52.128.172 HTTP/1.1 Mozilla/4.0 +(compatible; + MSIE + 8.0; + Windows + NT + 6.1; + WOW64; + Trident/4.0; + SLCC2; +。NET + CLR + 2.0.50727; +。NET + CLR + 3.5.30729 ; + NET + CLR + 3.0.30729; + NET4.0C; + NET4.0E) - - 940af2dbd9df4924b87a13878752aee3.cloudapp.net 404 0 2 222 457 218
局部,得到了一個HTTP 500.19用。一些更詳細的信息:
請求的頁面無法訪問,因爲該頁面的相關 配置數據無效。
配置錯誤鎖定違反
238:
<httpErrors errorMode="Custom" defaultPath="/Public/Error.html" existingResponse="Replace" defaultResponseMode="ExecuteURL">
谷歌搜索鎖定違反沒有幫助我太多,因爲結果常常告訴我關於獨立IIS。 Windows事件日誌中沒有任何錯誤。
我想爲Azure和獨立IIS上的任何404顯示Error404.html
。任何幫助都會很棒。
我編輯了我的問題。它被部署(顯示爲aspx-404s),但它在本地不起作用。無論如何,謝謝你,檢查這給了我更多的見解。 – 2012-02-10 14:34:29
我也更新了我的答案。 – 2012-02-10 15:16:17
非常感謝你!我愚蠢地忽略了這些提示,因爲我並不期望觸及底層的IIS本身。現在,我必須找到一種方法來堅持進一步更新和重新部署這些更改...... – 2012-02-10 16:21:28