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

Azure静态站点爬虫重定向:staticwebapp.config.json配置是否有效?

你的配置问题与修正方案

首先明确:你当前的配置无法生效,因为Azure静态Web Apps的routes规则里,headers是用来设置响应头的,不是用来匹配请求头的。要匹配爬虫的User-Agent,得用conditions字段。

修正后的配置

{
  "routes": [
    {
      "route": "/*",
      "redirect": "https://cache.page-replica.com/200/www.example.com/{route}",
      "conditions": {
        "headers": {
          "User-Agent": "*Googlebot*|*bingbot*|*FacebookExternalHit*|*Twitterbot*"
        }
      },
      "statusCode": 302
    }
  ],
  "navigationFallback": {
    "rewrite": "/index.html",
    "exclude": ["/images/*.{png,jpg,gif}", "/css/*"]
  }
}

关键说明

  1. 用conditions匹配请求头:这是Azure静态Web Apps路由规则中用来匹配请求参数(包括头信息)的正确字段,这里通过通配符*匹配包含爬虫标识的User-Agent。
  2. 合并爬虫规则:把多个爬虫的匹配合并到一条规则里,用|分隔不同的匹配模式,避免重复配置。
  3. 保留原路径:用{route}占位符代替硬编码的*,确保重定向时保留原请求的路径(比如用户请求/about,会重定向到https://cache.page-replica.com/200/www.example.com/about)。
  4. 指定重定向状态码:显式设置302临时重定向,符合搜索引擎爬虫的预期(如果预渲染内容是永久缓存,也可以用301,但一般推荐302方便后续调整)。

额外注意事项

  • 替换配置中的200和www.example.com为你实际的PageReplica siteId和域名。
  • 测试时可以用curl模拟爬虫请求:curl -A "Googlebot" https://your-azure-static-site.com/about,检查是否正确重定向。
  • 确保PageReplica的预渲染缓存已经同步了你SPA的所有页面,避免爬虫拿到过时内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 04:02:35