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

Vite代理POST请求遭301跳转转为GET问题求助

Vite代理POST请求被转为GET(301重定向)问题解决方案

问题根源

从日志和现象判断,问题出在目标服务器的路径规则:当请求https://xxx.xxx.inc/core/login(不带末尾斜杠)时,服务器返回301重定向到带斜杠的https://xxx.xxx.inc/core/login/。而浏览器遵循HTTP规范,收到301响应处理POST请求时,会自动把请求方法转为GET,最终导致你看到的异常。

修复方法

方法一:修改Vite代理的路径重写逻辑

调整rewrite函数,确保代理后的目标路径末尾带斜杠,避免触发服务器重定向:

server: {
  host: "0.0.0.0",
  proxy: {
    "/api": {
      target: "https://xxx.xxx.inc",
      changeOrigin: true,
      rewrite: (path) => {
        const strippedPath = path.replace(/^\/api/, "");
        // 保证路径末尾带斜杠
        return strippedPath.endsWith('/') ? strippedPath : `${strippedPath}/`;
      },
      secure: false,
      // 可选:开启followRedirects,确保代理跟随重定向时保留POST方法
      followRedirects: true
    },
  },
},

方法二:前端请求时直接带末尾斜杠

如果不想改动代理配置,在前端发送请求时,把URL改成带末尾斜杠的形式,比如将/api/core/login改为/api/core/login/,这样代理后的目标路径就是服务器期望的格式,不会触发301重定向。

验证方式

修改后重启Vite服务,重新发送POST请求,观察日志是否不再出现vite:spa-fallback相关的GET请求记录,同时确认请求始终保持POST方法且返回正常响应。

内容的提问来源于stack exchange,提问作者velly.zhou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:01:05