nginx配置域名访问首页的问题

我有两个网站比如www.a.com和www.b.com,请问我需要设置www.b.com首页直接访问www.a.com/a/b.html这个页面,但是浏览器的里面url地址仍然显示为www.b.com,这个nginx配置应该如何配置?

阅读 3.2k
3 个回答

proxy_pass 就可以满足你,别触发 301、302 之类的重定向就可以。

#node1;
server{
    listen 80;
    server_name www.a.com;
    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
}

#node2;
server{
    listen 80;
    server_name www.b.com;

    location = / {
        proxy_pass http://www.a.com/a/b.html;
    }
}

小毛驴个人技术空间

其实分成起码2种情况

  1. 如果www.a.com www.b.com都是你自己控制的,则可以

    #node1;
    server{
     listen 80;
     server_name www.a.com;
     location / {
         root /usr/share/nginx/html;
         index index.html index.htm;
     }
    }
    
    #node2;
    server{
     listen 80;
     server_name www.b.com;
    
     location = / {
         root /usr/share/nginx/html/a/;
         index b.html b.htm;
     }
    }
  2. 第二种情况,就主要对于www.a.com 不由你控制,基本上就是一个反向代理的应用,类似

    #node2;
    server{
     listen 80;
     server_name www.b.com;
    
     location = / {
         proxy_pass http://www.a.com/a/b.html;
     }
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题