【问题标题】:nginx redirect to one page on same servernginx 重定向到同一服务器上的一页
【发布时间】:2021-11-25 19:48:33
【问题描述】:

尝试重定向到维护页面,但找不到执行此操作的方法。所有文档都假定重定向到另一个域,但我只想重定向到同一服务器上的一个页面。这实际上是可能的还是我需要使用重定向页面设置中间服务器?当我只想要一个简单的重定向时,似乎有点矫枉过正。虽然以下内容正确更改了 url,但它根本不起作用

server_name old_ip_address;
        return 301 $scheme:/maintenance-page

但以下是,但现在指向错误的服务器:

server_name old_ip_address;
        return 301 $scheme://new ip address/si/home;

我怎样才能重定向到一个页面,但请在同一个域上

【问题讨论】:

  • 请勿使用 HTTP 301 重定向到停机/维护页面 - HTTP 301 表示 永久 重定向,因此浏览器将缓存重定向并保留即使在您的网站重新上线后重定向他们的用户。您应该改用HTTP 303(HTTP 303 优于 302 和 307,因为即使原始请求是 POST、PUT 或其他动词(尽管更改为 303 won '不解决你的问题)
  • 你运行的是什么版本的 nginx?这是你的整个配置文件吗?

标签: nginx redirect


【解决方案1】:

尝试使用上游?

upstream xxx {
    your_newsite
}
server_name old_ip_address;
        return 301 $scheme://${upstream}/si/home;

【讨论】:

  • 这不是重定向到新域,重定向到新域很简单,重定向到同一个域似乎是完全不可能的
  • 尝试使用rewrite
  • 不得不放弃这个,没时间了,只好处理电子邮件。问题没有得到解决。很抱歉任何偶然发现这篇文章的人,我找不到任何解决方案
猜你喜欢
  • 1970-01-01
  • 2014-01-20
  • 2019-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-20
相关资源
最近更新 更多