2010-01-06 96 views
1

我們將我們的網站託管在IIS 7.0和集成模式下,我們已經設置瞭如下的自定義錯誤頁面。自定義錯誤頁面不起作用IIS 7.0 - 它顯示錯誤錯誤頁面

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

它重定向從錯誤頁的URL像下面的,但它不是顯示URL http://www.abc.com/Error.htm?aspxerrorpath=/and其顯示以下錯誤:

Runtime Error

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a "web.config" configuration file located in the root directory of the current web application. This tag should then have its "mode" attribute set to "Off".

 <!-- Web.Config Configuration File --> 
    <configuration> 
    <system.web> 
     <customErrors mode="Off"/> 
    </system.web> 
    </configuration> 

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's configuration tag to point to a custom error page URL.

  <!-- Web.Config Configuration File --> 

      <configuration> 
      <system.web> 
       <customErrors mode="RemoteOnly" 

defaultRedirect="mycustompage.htm"/>

+0

什麼是你得到的錯誤(你應該看到它在應用程序事件日誌中)?如果錯誤與web.config文件相關,或者在網站初始化時發生錯誤,則可能還不能識別自定義錯誤頁面配置設置。發佈例外細節可以幫助我們弄清楚是否屬於這種情況。 – Jacob 2010-01-06 09:31:39

+0

它很簡單,如果你把錯誤的連接字符串,那麼它應該顯示錯誤頁面,但它的顯示頁面已經寫成如上 – 2010-01-06 15:32:35

回答

3

您可能需要使用<httpErrors>元素<system.webServer>這是爲IIS 7等

奇怪的是,它是從IIS的開發版本不同。也許如果您使用IIS Express進行開發,它應該更密切地匹配IIS 7的行爲。

1

你確實有mode="Off"在你提供的XML片段。是否將其更改爲mode="On"

+0

它已經在活服務器上。這是輸入錯誤 – 2010-01-06 09:10:04

0

已經有一個選定的解決方案。我只是想多做點貢獻。

再就是看看你的Machine.config 文件Ç發現:\ WINDOWS \ Microsoft.NET \框架{版本} \配置C:\ WINDOWS \ Microsoft.NET \ Framework64 {version} \ Config

請確定您有。

<deployment retail="false"/>