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

Apache服务器PHP应用503维护配置:排除静态资源但拦截PHP文件

Apache 503维护页配置:排除静态资源但拦截PHP文件

直接使用以下配置即可实现需求,既放行Apache托管的静态资源,又拦截所有PHP相关请求(包括直接访问PHP文件和带路径的动态请求如https://example.com/index.php/foobar):

RewriteEngine On

# 拦截非静态资源:要么请求的文件不存在,要么是PHP文件
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteRule ^ /maintenance.html [R=503,L]

ErrorDocument 503 /maintenance.html

规则说明

  • RewriteCond %{REQUEST_FILENAME} !-f:匹配不存在的文件路径,对应index.php/foobar这类动态路由(实际文件系统中不存在该路径,但会被PHP解析)
  • RewriteCond %{REQUEST_FILENAME} \.php$:匹配真实存在的PHP文件(如index.php本身)
  • [OR]逻辑连接符:满足两个条件中的任意一个,就触发后续的503重写
  • 存在的非PHP静态资源(如.css、.js、.png等)会同时不满足两个条件,因此不会被拦截,正常访问

注意事项

  • 确保网站配置中已开启RewriteEngine On,如果之前没加,必须补上
  • 确认maintenance.html文件位于网站根目录,若放在子目录需调整路径(如/static/maintenance.html)
  • 若有其他Rewrite规则,将这条维护规则放在最顶部,保证优先执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:33:16