【发布时间】:2021-01-06 03:56:45
【问题描述】:
一个临时的向下页面(例如更新你的服务器软件)应该有一个理想的响应代码 503,但你可以逃脱 307,但在任何情况下都不应该是 200(因为谷歌会索引这个,它会影响你搜索引擎优化)
在 IIS 重写规则中,您有 3 个选项用于实现重定向到向下页面、重写、重定向和自定义响应:
<action type="Rewrite" url="/site1.html" />
<action type="Redirect" url="/site1.html" redirectType="Temporary" />
<action type="CustomResponse" statusCode="503" subStatusCode="0" statusReason="Site Unavailable" statusDescription="Down for maintenance" />
问题是如果你想要一个 503 响应,你不能重定向到所需的页面。
我们有 3 个使用 Episerver CMS 的不同品牌的网站。
当我们进行维护或只是想关闭网站时,我们有一个 azure web 应用程序(又名 iis),它有 3 个保持页面,每个页面一个。
所以我们的网站有 3 个页面:
/site1.html
/site2.html
/site3.html
我们使用 Azure 流量管理器指向实时站点或站点关闭页面,我们目前有重定向哪些工作,但错误地给出 200 响应:
<rewrite>
<rules>
<rule name="site1" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="mysite" />
</conditions>
<action type="Rewrite" url="/site1.html" />
</rule>
<rule name="site2" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="myothersite" />
</conditions>
<action type="Rewrite" url="/site2.html" />
</rule>
etc.
</rules>
</rewrite>
为了解决此问题(为每个站点提供不同的站点向下页面,并以 503 响应),有哪些选项?
我猜它可以设置类似 3 个不同的命名虚拟主机,每个主机除了自定义 503 错误页面 + 捕获所有 CustomResponse 操作之外什么都没有?有这样的配置的例子吗?
需要明确的是,我们的应用程序可能运行正常,但我们可能希望使用流量管理器将公众指向在维护期间具有 503 响应的“关闭”页面。提供向下页面的网站与服务于该网站/应用程序本身的网站无关。
【问题讨论】:
标签: iis url-rewriting http-status-code-503