我想爲我的網站(ASP.NET 4,集成管道)設置自定義錯誤頁面。customErrors with redirectMode =「ResponseRewrite」不能在共享主機上工作
一切在本地機器上正常工作,但.aspx
頁面的自定義錯誤頁面不顯示在共享主機上(我看到默認錯誤頁面)。
如果我將redirectMode="ResponseRewrite"
更改爲redirectMode="ResponseRedirect"
本地和共享機器上的所有內容均可正常工作。
error.aspx
是一個真實的文件,位於web.config
文件旁邊(在網站的根目錄中)。網站沒有Global.asax
文件。
本地計算機運行IIS 7.5,我不使用路由(至少有意識地)和共享主機告訴Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319
你能告訴我什麼可能是這樣的不同的行爲的原因,我應該怎麼做解決問題。
下面是摘自我的web.config
文件:
<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/error.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
<system.web>
<customErrors mode="On" defaultRedirect="error.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="~/error.aspx"/>
</customErrors>
<httpRuntime requestValidationMode="2.0" />
</system.web>
你在本地運行什麼? IIS 7或7.5?當它出現自定義錯誤時有幾個區別。另外,你使用路由? – ScottE
@ScottE本地我正在運行IIS 7.5,我不使用路由(至少有意識地) – Bobrovsky
另外,確保應用程序池不在經典模式vs管道中運行,否則system.webServer部分不會被擊中。 – ScottE