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

如何在Firebase托管网页移除.php后缀 及rewrite规则配置问题

问题1:rewrite多规则合并写法说明

Firebase Hosting 的 rewrites.source 字段不支持逗号拼接多个匹配规则,你当前的合并写法不会生效,必须拆成两条独立的rewrite配置项。

问题2:无.php后缀访问失效的解决方法

Firebase 自带的 cleanUrls 配置仅支持自动去除 .html 后缀,不会处理 .php 后缀的文件,因此需要额外添加对应重写规则,匹配不带后缀的路径,优先查找对应.php文件返回。

修改后的完整firebase.json配置如下:

{
  "hosting": {
    "cleanUrls": true,
    "trailingSlash": true,
    "headers": [ {
      "source": "*.php",
      "headers": [ {
        "key": "Content-Type",
        "value": "text/html"
      } ]
    } ],
    "appAssociation": "AUTO",
    "public": "public",
    "rewrites": [
      // 处理无.php后缀的路径匹配
      {
        "source": "**/:file([^.]+)",
        "destination": "/:file.php"
      },
      // 排除静态资源的动态链接规则
      {
        "source": "**/!(*.css|*.js|*.map|*.jpg|*.gif|*.png|*.php)",
        "dynamicLinks": true
      },
      // post路径下的动态链接规则
      {
        "source": "/post/**",
        "dynamicLinks": true
      }
    ]
  }
}

注意:rewrite规则按从上到下的优先级匹配,需要将.php后缀的重写规则放在最前面,避免被后续的动态链接规则拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:24:03