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

如何配置httpd RewriteRule优先跳转至index.php再 fallback到index.html?

Apache RewriteRule 实现优先跳转index.php、降级至index.html的配置

可以通过以下Rewrite规则实现需求,优先检测index.php是否存在,存在则跳转至该文件;若不存在则降级使用index.html:

RewriteEngine On

# 跳过真实存在的文件或目录的处理
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

# 若index.php存在,将请求转发至index.php并携带查询参数
RewriteCond %{DOCUMENT_ROOT}/index.php -f
RewriteRule ^(.*)$ /index.php?q=$1 [L]

# 若index.php不存在,转发至index.html并携带查询参数
RewriteRule ^(.*)$ /index.html?q=$1 [L]

规则逻辑说明:

  • 第一条规则组:先判断当前请求的路径是否是真实存在的文件或目录,如果是,直接跳过后续Rewrite规则([L]表示终止后续规则处理),避免干扰真实资源的访问。
  • 第二条规则组:检查网站根目录下的index.php是否存在,若存在则将任意请求路径(^(.*)$)转发至index.php,并将原路径作为q参数传递。
  • 第三条规则组:当前面的规则未触发(即index.php不存在)时,将请求转发至index.html,同样传递q参数。

效果验证:

  • 当index.php存在时:foo.bar/test → foo.bar/index.php?q=test
  • 当index.php不存在时:foo.bar/test → foo.bar/index.html?q=test

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:46:22