我已经使用IIS7在我的本地机器上成功安装了网站。但是当我将它部署到实时服务器上时,我得到了以下错误:
“页面无法显示,因为发生了内部服务器错误”。
在live上使用相同的IIS7,并在错误页模块中设置了Detailed errors
,但仍然得到相同的结果。什么可能是一个原因?
谢谢
发布于 2016-02-13 08:12:20
我刚收到这个错误,它是由web.config中重复的静态内容MIME类型引起的
此错误仅在静态文件上返回-例如图像、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条目,一次一个,以确认哪些是需要的,哪些会杀死你的应用程序!
更新
实际上,最好的解决方案是由这里的一位评论者提供的。您可以删除,然后再添加,无论是否已定义,此操作都将始终有效。如下所示:
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
发布于 2017-06-12 00:44:58
我认为最好的第一种方法是确保通过web.config文件打开详细的错误消息,如下所示:
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed"></httpErrors>
</system.webServer>
</configuration>
完成此操作后,您应该会从服务器获得更详细的错误消息。
在我的特殊情况下,更详细的错误指出web.config文件的<defaultDocument>
部分在我放置web.config的文件夹级别是不允许的。上面写着
此配置节不能在此路径中使用。当节在父级被锁定时,就会发生这种情况。锁定要么是默认的(overrideModeDefault=“拒绝”),要么是由带有overrideMode="Deny“或遗留allowOverride="false”的位置标签显式设置的。"
发布于 2015-06-09 20:10:16
修改您的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。
https://stackoverflow.com/questions/30731074
复制相似问题