我正在與託管管道模式=「集成」自定義404頁與<httpErrors>元件似乎沒有在IIS 7
我的網站的目標移動設備,並利用井形成的URL傳遞參數測試的IIS 7.5網站起作用最少打字。例如'mysite.com/bob1234'在這種情況下'bob1234'實際上是參數。
在Application.BeginRequest,我處理使用正則表達式來確定如果所述URL以及所形成的Request.Url.AbsolutePath。
我想添加自定義404錯誤頁面,如果用戶輸入錯誤的網址即mysite.com/boob1234。
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="~/MobileError.aspx">
<error statusCode="404" redirect="404.htm"/>
</customErrors>
</system.web>
雖然當擴展名是「的.aspx」這個捕捉錯誤,它不會趕上404(一個或多個)時,沒有處理被映射,例如‘/mysite.com/boob1234’。
我按照說明操作,還增加了一個元素,我system.webserver
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<httpErrors defaultResponseMode="Redirect" errorMode="DetailedLocalOnly">
<remove statusCode="404" subStatusCode="-1"/>
<error statusCode="404" prefixLanguageFilePath=""
path="/mobile/MobileError.aspx" responseMode="ExecuteURL"/>
</httpErrors>
</system.webServer>
但沒有這方面的迭代似乎工作。當我取消註釋塊時,出現500錯誤。不,我的代碼似乎沒有任何問題。即使只是轉發到純HTML頁面,我也會遇到500錯誤。
我並實施失敗請求跟蹤,看看有什麼我能看到。
我得到預期:404由IIS Web核心拋出。
然後幾步後,CustomerErrorModule啓動,但它無法用一個500錯誤。詳細信息是
ConfigExceptionInfo: \ \ C:..... \ MyApp的\ web.config中(89) :這部分配置不能 在此路徑中使用。當 的部分是在一個父 級鎖會出現這種情況。鎖定默認爲 (overrideModeDefault =「Deny」),或者通過位置標記 overrideMode =「Deny」或傳統 allowOverride =「false」明確設置 。
我試着走了「的.config」疊加,並沒有發現overrideMode =任何引用‘拒絕’
任何幫助將是真棒。完全卡住了。
感謝: 迪倫
嗨迪倫,你能解決這個問題嗎?請讓我知道我有一個非常相似的。謝謝。 – GibboK 2011-10-11 17:31:40