azure - 我可以在 Azure 静态 Web 应用程序中使用通配符进行重定向吗?

标签 azure routes azure-static-web-app

我正在尝试将 API 调用从我的静态 Web 应用程序重定向到另一个函数应用程序,但我无法使用通配符。

路线匹配正确,但我希望将 * 部分包含在重定向中。 这是我的 staticwebapp.config.json

中的示例
  {
        "route": "/api/client/*",
        "redirect": "https://xx.yy.net/api/client/*"
  }

我希望请求 /api/client/customer/get?customerId=xx 变为 https://xx.yy.net/api/client/customer/get? customerId=xx.

但无论我尝试什么,它都只能很难路由到我在重定向中放入的内容。 通过函数,这可以通过代理实现,但我在静态 Web 应用程序中找不到方法。

最佳答案

有点晚了,但就我而言,可以从 header 中获取原始 URL:

        if (shortUrl == "*")
        {
            var original = req.Headers
                .FirstOrDefault(h => h.Key.ToLower() == "x-ms-original-url")
                .Value.FirstOrDefault()?.ToString();
            if (string.IsNullOrWhiteSpace(original))
            {
                shortUrl = "";
            }
            else
            {
                shortUrl = original.Split("/")
                    .Where(p => !string.IsNullOrWhiteSpace(p))?
                    .LastOrDefault() ??"";
            }
        }

关于azure - 我可以在 Azure 静态 Web 应用程序中使用通配符进行重定向吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67022988/

相关文章:

azure - 从脚本更新 Azure CDN 自定义域证书

ssl - 如何在 istio 的入口网关终止 ssl?

javascript - 请问我该如何处理这个错误 "Unhandled Rejection (Type Error): Cannot read property ' 未定义的过滤器”

azure - 在 Azure 上,我可以在 ASE 中运行 Windows Docker 容器吗?

azure - 当显示模式设置为私有(private)时,是否可以找到 Azure 命名空间中所有正在运行的中继的服务路径?

Azure 移动服务需要对 SignalR HTML/Javascript 客户端进行身份验证

ruby-on-rails - 有没有办法让 "rake routes"看起来更好?

javascript - Angular RouteParams 发送 ID

angular - 如何在 Angular 中访问 Azure 静态 Web 应用程序应用程序设置?

azure - 在 Azure DevOps 中删除源分支时如何删除 Azure Static Web App 分支预览环境?