2015-06-09 88 views
23

我已成功地使用IIS 7在本地計算機上安裝了網站。 但是,當我已經部署了直播服務器上,我得到了以下錯誤:頁面無法顯示,因爲服務器上發生了內部服務器錯誤

"The page cannot be displayed because an internal server error has occurred" Nothing else.

使用活相同的IIS 7,也設置有錯誤頁面模塊Detailed errors,但仍得到相同的。 可能是什麼原因?

感謝

回答

4

修改你的web.config顯示服務器錯誤的詳細信息:

<system.web> 
    <customErrors mode="Off" /> 
</system.web> 

你也可能需要刪除/註釋掉後續httpErrors部分

<system.webServer> 
    <httpErrors errorMode="Custom"> 
     <remove statusCode="404" /> 
     <error statusCode="404" path="/Error/Error404" responseMode="ExecuteURL" /> 
     <remove statusCode="500" /> 
     <error statusCode="500" path="/Error/Error500" responseMode="ExecuteURL" /> 
     <remove statusCode="403" /> 
     <error statusCode="403" path="/Error/Error403" responseMode="ExecuteURL" /> 
    </httpErrors> 
    </system.webServer> 

從我如果您直接出現服務器錯誤,則可能是由於組件版本不匹配導致的。

檢查web.config中聲明的內容以及bin文件夾項目中的實際ddl。

+0

這個評論這一行,我沒有工作了。 –

3

我修復了它。 我有以下部分in web.config

httpErrors existingResponse="PassThrough" 

當我刪除它,我得到了真正錯誤

+0

這不適合我。 –

36

我剛剛得到這個錯誤,它是由一個重複的靜態內容MIME類型的網頁造成的.config

此錯誤僅在靜態文件中返回 - 例如圖像,css,js文件都在說這個錯誤(文本本身,沒有其他html或響應中的文本)。

調試此方法的方法是在靜態內容下查看Web配置。這裏我們加載了一個json文件擴展名。這在IIS7上是必需的,但如果在IIS8上使用,則會終止該應用程序,因爲json現在已在服務器級別預加載。

<staticContent> 
     <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" /> 
     <mimeMap fileExtension=".json" mimeType="application/json" /> 
    </staticContent> 

所以解決方案是一次刪除任何一個mimeType條目,以確認哪些是需要的以及哪些會殺死您的應用程序!

+8

它也適用於類型如.woff。 – smoksnes

+0

我確定這個不適用於我,但我刪除了staticContent中的所有內容,終於可以看到真正的錯誤消息!謝謝。 – MGOwen

+1

在設置之前清除條目應該防止衝突 zeristor

0

對於那些你們誰打這個計算器項,因爲它排名高的短語:

"The page cannot be displayed because an internal server error has occurred." 

在我這個確切的錯誤信息的個人情況,我已經轉向了Python 2.7版想我可以使用一些蟒蛇與我的.NET API。然後,當我嘗試從Visual Studio Pro 2013部署API或MVC的香草版本時,我收到了確切的錯誤消息。我正在部署到一個天藍色的雲web應用程序。

希望這可以幫助任何有同樣經歷的人。我甚至沒想過要關閉python直到我找到這個suggestion

8

我認爲最好的第一種方法是確保通過您的網絡打開詳細的錯誤消息。配置文件,如下所示:

<configuration> 
    <system.webServer> 
     <httpErrors errorMode="Detailed"></httpErrors> 
    </system.webServer> 
</configuration> 

完成此操作後,您應該從服務器獲得更詳細的錯誤消息。

在我的具體情況中,更詳細的錯誤指出,我放置我的web.config文件夾級別的web.config文件的文件級別不允許我的<defaultDocument>部分。它說:「這個配置部分不能在這條路徑上使用,當部分鎖定在父級別時會發生這種情況。鎖定可以是默認的(overrideModeDefault =」Deny「),也可以使用overrideMode =」Deny 「或舊有的allowOverride =」假「」

+0

這幫助我確定了問題 – Simon

0

現在看來,這工作我在web.config中

<compilation debug="true" targetFramework="4.5.2" /> 
相關問題