在Nginx中将子站点添加到父站点的路径

时间:2018-10-10 16:15:52

标签: nginx

为了使我的代码库保持模块化,我有两个静态网站-site_a(它是父网站)和site_b(可以看作是子网站)。我正在尝试找到将site_b附加到路径site_a的正确方法,以使site_a/path等效于site_b的{​​{1}}目录。

请注意,每个站点实例都有其自己的静态资源集(img,css,js),应从服务器上相应的Web目录中进行引用,并且某些资源的名称可能会有些重叠(例如style.css)和文件夹(例如/ img /..)。

非常感谢任何帮助指针!

1 个答案:

答案 0 :(得分:0)

您要搜索的是proxy_pass(或者我认为这种方法对您有用)。

site_a配置:

location = /path {
    return 301 /path/;
}
location = /path/ {
    proxy_pass http://site_b/;
}

如果只希望它完全像这样,这应该起作用,请小心,因为/ path部分由/更改,但是如果您需要其余的url,则可以这样做:

location = /path {
    return 301 /path/;
}

location  /path/ {
    proxy_pass http://site_b/;
}

像这样,site_a / path / pathtoglory /将显示site_b / pathtoglory/。

选择最喜欢的一个(或适合您的实际情况)。

有关特殊配置的proxy_pass的更多信息,请参见:

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/