2010-07-06 110 views
0

我有一個使用web.config的網站。我試着在下面的代碼中加入:將自定義錯誤頁面添加到網站

<customErrors mode="On" defaultRedirect="error.htm"> 
      <error statusCode="404" redirect="FileNotFound.htm" /> 
</customErrors> 

但是它似乎不起作用。錯誤仍然顯示。我可以把它放在錯誤的地方嗎?

樣品:

<authentication mode="Forms"> 
     <!-- Assign login url to LOGINSTATUS control --> 
      <!-- log user out after 15 minutes of inactivity --> 
      <forms loginUrl="~/Tilton/Login/Login.aspx" timeout="15"/> 
     </authentication> 
    <customErrors mode="On" defaultRedirect="error.htm"> 
     <error statusCode="404" redirect="FileNotFound.htm" /> 
    </customErrors> 

回答

2

的ASP.NET錯誤處理程序只適用於已經由ASP.NET引擎,他們應該存在處理資源。例如,您的處理程序應該適用於nonexist.aspx,但不適用於foo.bar,因爲.bar未映射到ASP.NET。這是你的問題嗎?

+0

經過一些測試,我可以看到你的意思,是的。任何與page.aspx相關的工作,但page.page不會。 – BioXhazard 2010-07-06 20:07:20

+0

有什麼我可以做,所以它處理一切? – BioXhazard 2010-07-06 20:13:49

+0

IIS中的自定義錯誤頁面是你想要的,而不是ASP.NET的。如果您進入IIS配置中的ASP.NET ISAPI處理程序,並告訴它「檢查文件是否存在」,那麼所有缺少的文件將轉到IIS的處理程序,包括通常由ASP.NET處理的文件。如果您不想檢查該框,則需要兩個404處理程序 - 一個在IIS中,另一個在web.config中。 – x0n 2010-07-06 20:50:21

0

你可以看看在IIS本身設置一個自定義的404錯誤頁面。在IIS 7中,每個網站都有一個「錯誤頁面」配置部分。

相關問題