IIS:将所有请求redirect到一个页面?

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

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

更多信息在这里 。

在webconfig中

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

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

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