我想建立一个持有页面,以便在网站维护期间我们可以显示适当的内容。如何在IIS7上构建一个持有页面的网站?
购物清单:
- 易于切换开启/关闭
- 不希望谷歌BOT认为所有的页面已经消失的NOINDEX/NOFOLLOW
- 不希望用户看到IIS7的“ERROR 500消失“消息 - 显示我的自定义页面而不是
我们曾经在网站上有一个ASP”持有页面“,所有的URL都将被路由到。由于转移到IIS7和搜索引擎友好URL重写,不再是可行的。
所以相反,我们一直在使用一个单独的IIS站点,它只包含一个Holding Page DEFAULT.ASP和一个404处理程序,以便任何URL都可以路由到该站点。然后,我们必须在IIS配置中切换IP地址或主机标题域名(并且我们有一个旁路PREVIEW.MyDomain.com以在展示期间进入实时站点)
我们需要设置一个响应代码 - I认为503“服务不可用”将是最合适的吗? (尽管Custom Error Page for Http Error 503似乎表明IIS7不会显示带有Error 503的自定义页面)
为了防止人们看到IIS7“错误500消失”消息,我认为我们需要设置此“持有站点”以允许详细错误?
主要应用程序仍然是经典的ASP,但对于一个控股页面的网站,我们可以实现ASP.NET,如果这让我们渡过了一些障碍。
有没有其他的方法可以在网站中处理这个问题(所有的请求都进入了保存页面,但是有一些后门,这样我们可以在删除保存页面之前测试网站的升级)[请参阅我的下面的想法]
切换IIS站点之间的IP地址(或主机标题名称)目前不是一个光滑的操作 - 手动用一两分钟时间为所涉及的半打IIS站点执行操作。也许我们可以只是,我们可以切换在Web.config文件中 - 尽管我认为这很可能意味着,近期一些以设置更改迷路,在洗涤过程的:(
可能的替代实现:
我们一直在考虑有一个DEFAULT.ASP(我们的网站通过一个ASP页面来处理所有的请求),它允许设置一个标志并显示Holding页面。然后会有一个“后门”让开发者设置一个Cookie(或者IP地址“旁路”列表),以便在升级期间他们可以看到该网站全部正常,然后移除持有页面标记
当前单独的持有站点的一个好处是任何HTML /图像/ CSS都可以部署在那里,而在现场站点上,保持页面必须假定包括图像和CSS文件等在内的任何东西都可能作为升级的一部分被更改 - 然后人为错误进入办法!
我花了数小时试图找出如何确实通过ARR重写响应代码。我尝试使用出站规则来重写RESPONSE_STATUS服务器变量,但根据Fiddler,当我尝试重写为503时,仍然收到200 OK。 – 2011-03-07 03:13:34