我想建立一个保留页面,以便在站点维护期间我们可以显示适当的内容。
购物清单:
- 轻松切换开/关
- 不希望 Google BOT 认为所有页面都消失了 NOINDEX/NOFOLLOW
- 不希望用户看到 IIS7 的“ERROR 500 go away”消息 - 改为显示我的自定义页面
我们曾经在站点中有一个 ASP“保存页面”,所有 URL 都将被路由到该站点。自从迁移到 IIS7 和 SEO 友好的 URL 重写以来,这不再可行。
因此,我们一直在使用一个单独的 IIS 站点,该站点仅包含一个保留页面 DEFAULT.ASP 和一个 404 处理程序,以便将任何 URL 路由到该站点。然后,我们必须在 IIS 配置中切换 IP 地址或主机标头域名(并且我们有一个绕过 PREVIEW.MyDomain.com 以在推出期间进入 Live 站点)
我们需要设置一个响应代码 - 我认为 503“服务不可用”最合适?(虽然Http 错误 503 的自定义错误页面似乎表明 IIS7 不会显示带有错误 503 的自定义页面?)
为了防止人们看到 IIS7“ERROR 500 go away”消息,我认为我们需要设置这个“保留站点”以允许详细错误?
主应用程序仍然是 Classic-ASP,但对于一个持有页面站点,如果这能让我们克服一些障碍,我们可以实现 ASP.NET。
是否有另一种方法可以在站点内处理此问题(因此所有请求都转到保留页面,但有一些后门,以便我们可以在删除保留页面之前测试站点升级)[请在下面查看我的想法]
目前,在 IIS 站点之间切换 IP 地址(或主机标头名称)并不是一项巧妙的操作 - 对于所涉及的 6 个 IIS 站点,手动操作需要一两分钟。也许我们可以只拥有可以切换的 Web.Config 文件——尽管我认为这可能意味着最近对设置的一些更改会在清洗中丢失:(
可能的替代实现:
我们一直在考虑有一个 DEFAULT.ASP(我们的站点通过单个 ASP 页面来处理所有请求),它允许设置一个标志并显示持有页面。然后会有一个“后门”供开发人员设置 Cookie(或者可能是 IP 地址“绕过”列表),以便在升级推出期间,他们可以在删除持有页面标志之前看到网站一切正常。
当前独立的Holding Site的一个好处是可以在那里部署任何HTML / Images / CSS,而在实时站点上,Holding页面必须假设任何东西,包括图像和CSS文件等,都可能作为升级 - 然后人为错误会妨碍您!