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

Azure MVC中非根页面无法将非WWW重定向至WWW问题排查

问题分析与解决方案

以下是导致非根页面重定向失效/超时的常见原因及对应解决方法:

  • Front Door路径匹配规则未覆盖所有子路径
    Front Door默认路由规则可能仅匹配根路径(/),导致/about这类非根路径请求未被正确转发到后端App Service。检查Front Door的路由规则,将路径匹配设置为/*(通配符匹配所有子路径),而非仅/。

  • 后端App Service主机头绑定不匹配
    如果Front Door转发请求时使用自身边缘域名作为Host头,而非你的自定义域名example.com,后端App Service可能因未绑定该Host头拒绝处理请求。在Front Door路由规则中开启“转发主机头”,设置为自定义值example.com;同时确保App Service的自定义域名绑定包含example.com和www.example.com。

  • 重写中间件执行顺序错误
    确认app.UseRewriter(options)必须放在app.UseRouting()和app.UseEndpoints()之前。若重写中间件位置靠后,非根路径的路由匹配会先于重写规则执行,导致请求无法被正确处理。正确的代码顺序示例:

    var options = new RewriteOptions()
                 .AddRedirectToHttpsPermanent()
                 .AddRedirectToWwwPermanent();
    app.UseRewriter(options);
    
    app.UseRouting();
    // 其他中间件(如UseAuthorization)
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
    
  • Front Door健康探测配置局限
    若健康探测仅针对根路径(/),当后端App Service非根路径存在依赖异常但根路径正常时,Front Door仍会将请求转发至该实例,导致非根路径超时。可修改健康探测路径为/about等核心非根路径,或确保所有路径的后端依赖正常。

  • 后端站点重写规则冲突
    检查App Service的web.config(.NET Framework环境)或其他自定义重写规则,是否存在与代码中RewriteOptions冲突的配置。比如部分规则可能强制非根路径重定向至其他地址,引发循环重定向或超时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:39:59