2012-12-05 120 views
2

在Windows 7中,我試圖設置自定義錯誤頁面。一個用於404,一個用於500,另一個用於任何其他錯誤(客戶端或服務器端),當用戶超時或在asp編譯時出現故障時,用戶可能會遇到這種錯誤。Windows 7中IIS的自定義錯誤頁面

404.htm 
500.htm 
error.htm 

只是非常簡單的HTML頁面,說錯誤,沒有什麼技術像默認值。 This postthis post似乎在談論如何在ASP中製作錯誤頁面,而不僅僅是將html文件作爲自定義錯誤頁面。

在IIS我已經到錯誤頁面選擇工具,並不意味着對ASP

IIS Error menu

並輸入該信息到Edit error pages settings對話

詳細地址我已經進入:WebvView \ webview_error_pages \ error.htm(通過選擇我彈出elipses按鈕到一邊瀏覽。(我縮短了這篇文章的所有地址)。

enter image description here

自定義默認地址有效。但是,當我試圖讓錯誤頁面404這樣的:

dialogue for 404

404 appears on list

,並嘗試去一個頁面不存在,我得到這個簡單的錯誤消息:

頁面無法顯示,因爲發生了內部服務器錯誤 。

不是我的。而不是在我設置自定義404之前工作的默認設置。

我在做什麼錯?

謝謝!

編輯

也是,我只是改變了ASP的一些部分,並得到一個運行時錯誤,而不是我的自定義錯誤。有沒有辦法阻止用戶看到這些令人恐懼的技術頁面?

編輯 這是其它狀態菜單中的XML代碼:

再次
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" /> 
     <customErrors defaultRedirect="webview_error_pages/error.htm" mode="On"> 
     </customErrors> 
    </system.web> 
    <system.webServer> 
     <httpErrors errorMode="Custom"> 
      <remove statusCode="502" subStatusCode="-1" /> 
      <remove statusCode="501" subStatusCode="-1" /> 
      <remove statusCode="500" subStatusCode="-1" /> 
      <remove statusCode="412" subStatusCode="-1" /> 
      <remove statusCode="406" subStatusCode="-1" /> 
      <remove statusCode="405" subStatusCode="-1" /> 
      <remove statusCode="401" subStatusCode="-1" /> 
      <remove statusCode="403" subStatusCode="-1" /> 
      <remove statusCode="404" subStatusCode="-1" /> 
     </httpErrors> 
    </system.webServer> 

謝謝!

回答

6

是否有一個特定的原因,你爲什麼不在你的web.config中這樣做?如果將項目移動到不同的服務器,這將有所幫助,那麼您將不必擔心手動配置IIS。另外,在web.config IMO中配置它會容易一些。

在系統下的customErrors節點中。web,請確保你有

 <customErrors mode="On" defaultRedirect="~/Error/" > 
      <error statusCode="404" redirect="~/404Redirect/"/> 
     </customErrors> 

很明顯,你可以替換任何你想要的重定向頁面。

+0

謝謝!文件的位置在哪裏?那是在哪裏呢?它可以解決asp給我的編譯錯誤:/ – 1252748

+1

代字符代表應用程序的根目錄。這將工作編譯錯誤 – Manny

+0

哇,去源真的工作。無論出於何種原因使用IIS將該功能設置爲「始終」,並沒有改變'xml'配置文件。謝謝您的幫助! :) – 1252748