62

对于我的 IIS 网站,我想将所有请求重定向到一个页面。这样做的目的是我想对我所有的 Web 应用程序使用的数据库进行一些维护(使其脱机)。我在这个网站下运行了大约 50 个网络应用程序,所以我想避免访问它们中的每一个来改变一些东西。我在想我可以在 machine.config 中进行一次更改吗?任何提示将不胜感激。

4

5 回答 5

99

如果您使用的是 ASP.NET 2.0(或更高版本),则可以将 app_offline.htm 页面放在根目录中。

更多信息在这里

于 2008-11-18T22:45:23.013 回答
57

在网络配置中

 <rewrite>
        <rules>
            <rule name="redirect all requests" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
                </conditions>
                <action type="Rewrite" url="index.php" appendQueryString="true" />
            </rule>
        </rules>
    </rewrite>
于 2010-04-17T20:04:55.940 回答
11

使所有页面不可用,可能会停止当前网站并在其位置创建一个全新的完全空白的网站。然后为 404(找不到文件)错误建立一个自定义错误页面。自定义错误是 IIS 中网站属性对话框上的一个选项卡。只需创建您要发送的页面,然后将自定义错误选项卡上的 404 条目更改为指向您刚刚创建的新文件。

于 2008-11-18T22:44:18.927 回答
2

在 IIS 10 中有一个可选组件“HTTP Redirect”(它可能在早期的 IIS 版本中可用;我不知道)。它允许您使用任何常见的 HTTP 重定向响应代码设置非常简单的包罗万象的重定向。这可以通过 Windows Server 2019 中的服务器管理器安装。

于 2020-01-31T14:16:19.737 回答
1

您能否在 IIS 中创建一个新站点,并使用空白主机头(很像默认站点)绑定到端口 80,然后停止其他站点?这样一来,所有请求都将由新站点处理,这可能只是一个静态 HTML 页面,通知用户该站点因维护而停机。

于 2010-04-17T20:54:45.940 回答