IIS:将所有请求重定向到一个页面?

时间:2008-11-18 22:41:47

标签: iis redirect

对于我的IIS网站,我想将所有请求重定向到一个页面。这样做的目的是我想对我的所有Web应用程序使用的数据库(离线)进行一些维护。我在这个网站上运行了大约50个网络应用程序,因此我想避免访问每个应用程序以更改某些内容。我想我可以在machine.config中进行一次更改?任何提示都将不胜感激。

5 个答案:

答案 0 :(得分:92)

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

More info here

答案 1 :(得分:47)

在网络配置

 <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>

答案 2 :(得分:11)

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

答案 3 :(得分:2)

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

答案 4 :(得分:1)

您是否可以在IIS中创建一个新站点,并使用空白主机标头绑定到端口80(非常类似于默认站点),然后停止其他站点?这样,所有请求都将由新站点处理,新站点可能只是一个静态HTML页面,通知用户该站点已关闭进行维护。