用301重定向给网站更换新域名POST丢失

发布于 2022-09-03 19:40:17 字数 46 浏览 18 评论 0

用301重定向给网站更换新域名get有效,但是post会失效变成get怎么办?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

我的黑色迷你裙 2022-09-10 19:40:17

谢邀。
目前我能想到的方法是在DNS

新域名 cname 老域名
老域名 A记录 服务器IP

可能不是很妥,希望对你有帮助。

新雨望断虹 2022-09-10 19:40:17

Post 改成相对域名不就 ok 了。

情仇皆在手 2022-09-10 19:40:17

针对301的response,浏览器的行为就是发送GET请求Location中的URL。
如果需要保持原来的POST方法不变去重新请求,需要使用307,但这未必是你想要的,因为根据标准浏览器针对307的POST请求需要用户明确确认(比如会弹一个alert)。
具体详细的解释可以参考下面两篇文章:

  1. http://www.alanflavell.org.uk...

  2. http://programmers.stackexcha...

生寂 2022-09-10 19:40:17

server {

     server_name  gaogd.com;
    location / {
    if ($request_method ~ ^(POST)$) {
        proxy_pass http://www.gaogd.com;
        break ;
    }
    rewrite ^/(.*)$   http://www.gaogd.com/$1 permanent;
}

301 跳转问题解决

上面是把gaogd.com 这个域名跳转到 www.gaogd.com ,但是如果进行post操作gaogd.com 这个时候,如果直接使用rewrite 规则进行301 跳转的时候。
那么post请求就会变成get请求。
解决,在做跳转之前,想判断这个请求的到底是get 还是post 请求,如果是post请求,那就使用 proxy_pass 方法,反之使用rewrite方法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文