代码之家  ›  专栏  ›  技术社区  ›  Brian Johnson

Nginx站点配置禁用另一个站点的301重写

  •  0
  • Brian Johnson  · 技术社区  · 11 年前

    我目前在nginx中有两个启用的站点配置,让我们称之为 old-site.example new-site.example 。没有其他站点配置处于活动状态。

    旧版示例 301应该重定向到 新的示例 。只要 旧版示例 配置是单独的。添加后 新的示例 配置文件,它不再重定向。

    oldsite.conf :

    server {
            listen 80;
            server_name *.old-site.example;
            rewrite_log on;
            location / {
                    return 301 http://www.new-site.example$request_uri;
            }
    
    }
    

    newsite.conf :

    server {
        listen       80;
        server_name  www.new-site.example;
    
    charset utf-8;
    
        location / {
            #forward to application server
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8080;
        }
    }
    

    其他配置详细信息:

    • JBoss AS7作为运行在Nginx 1.5.1之后的应用服务器
    1 回复  |  直到 6 年前
        1
  •  0
  •   Brian Johnson    11 年前

    这是一个与DNS相关的错误,对不起大家。

    背景:客户端的ISP成功地“智能重定向”了域,而不是使用DNS。他们基本上是在服务器上抓取新站点,然后通过旧域返回。我无言以对。

    如果您曾经遇到过这样的问题,请在重新猜测您的配置之前检查DNS解析。