2015-10-31 51 views
0

我無法獲得任何自定義錯誤頁面出現在IIS8.5!MVC自定義錯誤不工作在IIS8.5(但本地工作)

當我在Visual Studio中本地運行MVC 5應用程序時,會顯示自定義錯誤頁面。但是當我在我的web服務器上部署到IIS並導航到具有「錯誤URL」的站點子頁面時,應該顯示我的自定義404頁面,而是顯示默認的通用404頁面。

這裏是我做了什麼:

的web.config

customError部分已被刪除。

添加以下部分

<system.webServer> 
    <httpErrors errorMode="Custom" existingResponse="Replace"> 
     <remove statusCode="404" /> 
     <remove statusCode="500" /> 
     <error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />  
     <error statusCode="500" responseMode="ExecuteURL" path="/Error/ServerError" />  
    </httpErrors> 
    </system.webServer> 

控制器

namespace MyApp.Controllers 
{ 
    [Authorize(Roles = "MyRole")] 
    public class ErrorController : Controller 
    { 
    [AllowAnonymous] 
    public ActionResult NotFound() 
    { 
     Response.StatusCode = 404; 

     return View(); 
    } 

    [AllowAnonymous] 
    public ActionResult ServerError() 
    { 
     Response.StatusCode = 500; 

     return View(); 
    } 
    } 
} 

查看

非常簡單和直接轉發(這裏不包括)。

IIS

驗證的IIS錯誤頁面的功能是相同的什麼在我的配置。每個錯誤狀態代碼的頁面。功能和頁面設置爲「自定義」。

已安裝檢查過的Windows功能\ Web服務器(IIS)\ Web服務器\通用HTTP功能\ HTTP錯誤。

開發工具

導航到拼寫錯誤的子頁面顯示我得到一個404客戶端錯誤。

幫助

我已經嘗試很多東西!我錯過了什麼嗎? IIS環境問題,即設置某處?

自定義錯誤在我的IDE中工作,但不在IIS上。我已經花了一天的時間了!閱讀關於SO的許多頁面,文章和類似問題。

+0

問題標題指出「在本地工作」,我的意思是它在Visual Studio IDE中工作,而不是在同一個IIS框上瀏覽。對不起,有任何困惑。 –

+0

當您手動導航到其中一個錯誤操作(如/ Error/NotFound)時,您會看到什麼? –

+0

@TiesonT。對於邊緣我得到「HTTP 404錯誤這很奇怪......微軟邊緣找不到這個頁面」的消息。對於FF和Chrome,我只需要空白頁面。 (不知道爲什麼FF和Chrome不顯示它們的通用瀏覽器404錯誤頁面。) –

回答

1

經過幾天的調查,終於找到了問題。

在IIS中,我的網站作爲默認網站下的應用程序駐留,例如,默認網站\ MyDevSite。 (我所有的開發站點都在默認網站下)。

當我將網站移動到它自己的IIS站點時,現在正在顯示自定義錯誤頁面!

如果有人知道爲什麼在IIS中使用應用程序可以防止顯示自定義錯誤頁面,請在此處添加註釋。這很好理解爲什麼會發生這種情況。

我希望這可以幫助別人。讓我去了一段時間。

0

如何瀏覽IIS?如果您使用的是同一臺機器,那麼您將不會看到自定義錯誤頁面,因爲如果未指定,customErrors部分將默認使用RemoteOnly

+0

我正在遠程瀏覽IIS,即從我的桌面 - >互聯網 - > IIS(站點)。我在本地嘗試只看看會發生什麼 - 與遠程瀏覽相同的結果。 –

+0

@ThomasVeil只要他們是不同的機器,那很好。如果你有效地瀏覽本地主機,那麼你會得到你描述的行爲。也就是說,嘗試將''添加到您的IIS web.config中。如果仍然不起作用,請嘗試將其設置爲「mode =」On「'。如果這不起作用,那麼它可能在其他地方出現問題。 –

+0

謝謝約翰,我用RemoteOnly和On嘗試了,同樣的事情,仍然不起作用。但一個好主意。 –

相關問題