You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将离线IIS中ASP.Net应用请求重定向至统一维护页面

解决IIS中ASP.NET应用维护停机时的统一重定向问题

我完全懂你遇到的问题——想让访问ASP.NET应用的所有请求(包括用户通过书签进来的)都跳转到统一维护页,结果试了App_Offline.htm和HTTP重定向都没起效,核心原因是你应该是直接停止了站点或应用池,导致IIS根本不处理这个应用的请求,那些依赖应用本身运行的机制自然就失效了。下面给你两个靠谱的解决方案:

方案一:不停止应用池,用ASP.NET原生的App_Offline.htm机制

这是最省心的方式,不需要改IIS配置:

  • 保持应用池处于运行状态(别停它)
  • 在应用的根目录放一个**严格命名为App_Offline.htm**的静态页面(大小写不能错,文件名必须完全一致)
  • 把你的维护提示内容写进这个文件里,ASP.NET会自动拦截所有针对该应用的请求,返回这个页面,同时会暂时停止处理应用的业务请求(但应用池本身是运行的,保证这个机制能生效)
  • 维护完成后,删掉或者重命名这个文件,应用就会自动恢复正常服务

方案二:必须停止应用池时,配置IIS错误页跳转

如果因为特殊需求必须停止应用池或站点,可以通过IIS的错误页配置来实现统一跳转:

  1. 打开IIS管理器,找到你的目标站点
  2. 进入「错误页」功能模块
  3. 找到状态码503(对应服务不可用,也就是站点/应用池停止的场景),点击「编辑功能设置」
  4. 选择「自定义错误页」,然后指定你的维护静态页面的路径(可以是站点内的静态文件,也可以是服务器上其他独立目录下的文件)
  5. 确保这个静态页面所在的目录给IIS_IUSRS等相关权限,保证IIS能正常读取它
  6. 保存配置后,当站点/应用池停止时,所有请求都会返回这个503维护页面

小提醒:如果用方案二,建议把维护页面放在非应用目录下,或者单独创建一个静态站点来托管它,避免因为原应用池停止导致IIS无法访问到维护页。

内容的提问来源于stack exchange,提问作者Julia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:47:17