从脱机IIS重定向到维护站点

时间:2019-07-19 13:08:13

标签: asp.net iis

要向人们表明IIS Applicationpool上的ASP.Net应用程序已停止维护而不是出现合法错误,我需要将所有调用该应用程序一部分的人(也包括书签)重定向到通用维护页面。

首先,我尝试了在应用程序根目录中使用App_Offline的途径。无济于事(IIS处于关闭状态,因此该站点无法运行)。然后出于相同的原因,我尝试了无效的http重定向。

2 个答案:

答案 0 :(得分:0)

您不需要停止应用程序池。 app_offline.htm的存在将关闭您的应用程序。有关其工作原理的更多详细信息,here

但是,这不会阻止IIS提供静态HTML文件。如果您将静态HTML文件作为应用程序的一部分,那么您将不得不重定向其他方式。您可以使用维护页面在IIS中创建其他站点。然后,删除工作站点的绑定,并在工作时将其添加到维护站点。然后将其移回。

答案 1 :(得分:0)

如果停止网站,则意味着该网站不再侦听其所有绑定上的请求。这样可以防止您的应用程序在网站上收到任何后续请求。与您的网站的新连接将失败,就好像它不存在一样。

因此,首先启动应用程序池并创建一个用于重定向所有页面的临时页面。

下面是URL重写规则,该规则将所有页面重定向到正在建设中的页面。

<rule name="RequestBlockingRule1" stopProcessing="true">
                <match url=".*" />
                <conditions>
                    <add input="{URL}" pattern=".*" />
                    <add input="{REQUEST_URI}" pattern="temp.html" negate="true" />
                </conditions>
                <action type="Redirect" url="temp.html" />
            </rule>

enter image description here

如果要重定向到另一个站点,可以在操作URL值中设置另一个站点url。