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

如何在Azure上搭建纯HTTP重定向站点?适配硬编码URL映射

Azure 无服务器/静态方案实现硬编码URL重定向

针对你需要将foo.example.com的数百个无规律URL重定向到www.example.com/foo子目录的需求,推荐以下几个Azure方案,优先满足无服务器/静态、可维护性要求:

方案1:Azure静态Web Apps(纯静态配置)

这是最贴合静态网站迁移场景的方案,无需代码,纯配置实现:

  • 配置步骤:
    1. 在你的静态Web Apps项目根目录创建staticwebapp.config.json文件,在routes数组中逐个添加重定向规则,示例格式:
      {
        "routes": [
          {
            "route": "/old-page-a.html",
            "redirect": "/foo/new-page-a.html",
            "statusCode": 301
          },
          {
            "route": "/old-path/b/article",
            "redirect": "/foo/new-path/b/article",
            "statusCode": 301
          }
          // 继续添加所有URL映射条目
        ]
      }
      
    2. 将foo.example.com绑定为该静态Web Apps的自定义域名,确保旧域名的所有请求都路由到这个静态Web Apps。
  • 优势:纯静态配置,无服务器运行,免费层即可支撑需求;配置文件直观易维护,一次配置后无需改动(符合你后续URL列表不变的要求);自动处理HTTPS证书。
  • 限制:若URL数量超过数千条,JSON文件体积过大可能影响加载,但数百条完全没问题。

方案2:Azure Functions(无服务器代码实现)

适合需要少量代码逻辑,或后续可能有微小调整的场景:

  • 实现步骤:
    1. 创建一个HTTP触发的Azure Function(支持C#、Python、JavaScript等),将URL映射列表存储在:
      • 应用设置的键值对中(键为旧路径,值为新URL),或
      • 打包进Function的本地JSON文件中(因为列表不变,本地文件更稳定)。
    2. Function的核心逻辑:接收请求后提取请求路径,匹配映射列表中的旧路径,返回301 Moved Permanently重定向响应到对应的新URL。
    3. 将foo.example.com绑定为该Function的自定义域名,开启HTTPS。
  • 优势:无服务器按需付费,成本极低;映射列表可通过配置文件或应用设置管理,维护简单;逻辑灵活,后续若有少量URL调整可快速修改。
  • 限制:需要编写少量代码,不过逻辑非常简单,无需复杂开发。

方案3:Azure CDN(规则引擎重定向)

若你已有Azure CDN服务,可通过规则引擎实现,但维护效率不如前两个方案:

  • 配置步骤:
    1. 将foo.example.com指向Azure CDN端点,配置源站为你的目标静态网站(www.example.com/foo)。
    2. 在CDN规则引擎中添加数百条自定义规则,每条规则匹配旧URL路径,设置重定向到对应的新URL,状态码设为301。
  • 优势:利用CDN的全球加速能力,适合访问量较大的场景。
  • 限制:数百条规则在CDN控制台中逐条添加/管理效率低,不如配置文件直观;CDN成本高于前两个方案。

优先推荐

优先选择Azure静态Web Apps方案,完全符合纯静态、无服务器、易维护的要求,配置成本最低,最适配你的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:12:51