Anirvan Asked: 2013-02-28 10:59:06 +0800 CST2013-02-28 10:59:06 +0800 CST 2013-02-28 10:59:06 +0800 CST 如何使用自定义 503 错误代码在 IIS 中添加站点范围的停机错误消息? 772 我的网站将停机维护一段时间,我想确保 (1) 搜索引擎看到每个页面的 HTTP 503 错误代码,以及 (2) 人们看到描述停机时间的友好消息,符合停机 SEO 最佳实践。 如何设置 IIS 7.5 以便每个请求都收到自定义 503 错误消息? iis 3 个回答 Voted Best Answer Peter Hahndorf 2013-02-28T11:40:26+08:002013-02-28T11:40:26+08:00 一种方法是使用Url-Rewrite扩展。 然后您可以使用这样的规则来捕获所有请求: <system.webServer> ... <rewrite> <rules> <rule name="SiteDown" stopProcessing="true"> <match url=".*" /> <action type="CustomResponse" statusCode="503" statusReason="Down for maintenance" statusDescription="will be back up soon" /> </rule> </rules> </rewrite> </system.webServer> 这会处理搜索引擎,您可以为用户添加以下内容: <system.webServer> ... <httpErrors existingResponse="Auto" errorMode="Custom" defaultResponseMode="File"> <remove statusCode="503" subStatusCode="-1" /> <error statusCode="503" path="503.html" /> </httpErrors> </system.webServer> 然后将一个 503.html 文件放在您网站的根目录中,其中包含一条很好的错误消息。因为您不能在站点本身的页面中使用样式或图像,所以您需要链接到另一个站点或将所有样式和图像内联到 html 页面中。 Anirvan 2013-03-01T15:27:25+08:002013-03-01T15:27:25+08:00 如果使用带 IIS 的 .NET 应用程序,还可以使用app_offline.htm文件关闭应用程序并防止页面被请求并显示适当的 503 错误代码。 steve 2013-02-28T11:33:16+08:002013-02-28T11:33:16+08:00 您可以在下面设置一个 web.config 并将其放在您的根目录中。 <rule name="Send 503" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <action type="CustomResponse" statusCode="503" subStatusCode="0" statusReason="Service Unavailable" statusDescription="The server is down for maintenance" /> </rule>
一种方法是使用Url-Rewrite扩展。
然后您可以使用这样的规则来捕获所有请求:
这会处理搜索引擎,您可以为用户添加以下内容:
然后将一个 503.html 文件放在您网站的根目录中,其中包含一条很好的错误消息。因为您不能在站点本身的页面中使用样式或图像,所以您需要链接到另一个站点或将所有样式和图像内联到 html 页面中。
如果使用带 IIS 的 .NET 应用程序,还可以使用app_offline.htm文件关闭应用程序并防止页面被请求并显示适当的 503 错误代码。
您可以在下面设置一个 web.config 并将其放在您的根目录中。