我是 Azure 网站的新手。希望个性化 400 系列页面。通过阅读,我了解到在 IIS 中这是使用 web.config 文件进行配置的。
虽然有很多关于如何配置此文件的优秀支持文档,但它实际上并没有告诉我该文件应保存在 Azure 托管平台上的何处。我尝试过 D:\home\site\wwwroot\web.config 但一旦我输入一些基本配置,例如:
<?xml version="1.0"?>
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="on"/>
<httpErrors>
<remove statusCode="401" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="401" path="http://foo.com/default.htm" responseMode="Redirect" />
<error statusCode="403" path="/errors/403.htm" responseMode="ExecuteURL" />
<error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />
<error statusCode="500" path="/somedir/500.asp" responseMode="ExecuteURL" />
</httpErrors>
</system.web>
</configuration>
网站开始返回 500(准确地说是 503)。
我已尝试使用管理控制台重新启动实例,但仍然遇到相同的问题。
任何建议将不胜感激,我正在尝试为网站配置默认错误页面和 CORS。
最佳答案
<httpErrors>
是 <system.webServer>
的子元素(不是 <system.web>
) - 详情请参见 HTTP Errors in the IIS.net 。移动<httpErrors>
至<system.webServer>
。例如...
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" >
<remove statusCode="403"/>
<remove statusCode="404"/>
<remove statusCode="500"/>
<error statusCode="403" responseMode="ExecuteURL" path="/Error403" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error404" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error500" />
</httpErrors>
</system.webServer>
关于azure - 为 Azure 网站配置 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24900160/