2015-06-09 91 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" /> 
相关问题