nginx 将除特定文件和子目录之外的所有内容解析(指向)到不同的 ip

nginx 将除特定文件和子目录之外的所有内容解析(指向)到不同的 ip

因此我在 stackoverflow 上发布了类似的问题,但我认为这是更合适的部分。

我现在有一个旅游博客,并且在该博客上我有用于门票/预订的白标签。

白标网站基本上是指向别名域名的子域名

假设我的网站是mytravelblog.com,whitelabel是whitelabel.otheragency.com,它指向我的子域名,该子域名位于子文件夹中,因此

mytravelblog.com/tickets打开了whitelabel.otheragency.com,但我现在想将我的白标网站切换为主网站,但问题是他们不提供 robots.txt,所以我必须提供它并将其保存在我的主机上,而且我想保留我的博客,但只需将其切换到子文件夹。

因此,whitelabel 为我提供了两种方法来访问他们的 whitelabel,whitelabel.otheragency.com并解析他们的 ip

我是否可以以某种方式进行重定向或代理设置,以解决来自我主域上的白标签的所有内容,以及从子目录blog到我托管的博客网站和robots.txt我托管的 robots.txt 文件的所有内容。

所以应该是这样的

mytravelblog.com打开whitelabel.otheragency.com但仍在我的域下 mytravelblog.com/tickets打开whitelabel.otheragency.com/tickets,其余子文件夹也是如此

mytravelblog.com/blog打开我托管的博客网站和任何其他子文件夹 mytravelblog.com/blog/10-most-beautiful-beaches,打开我的博客文章, mytravelblog.com/sitemap.xml打开我生成的站点地图,我也托管该站点地图, mytravelblog.com/robots.txt打开我生成的 robots.txt 文件。

答案1

也许你正在寻找这样的东西:

location / {
    ... other proxy_pass settings ...
    proxy_pass http://whitelabel.otheragency.com;
}

location = /robots.txt {
    try_files $uri =404;
}

location = /sitemap.xml {
    try_files $uri =404;
}

location /blog {
    try_files /path/to/front_controller =404;
}

相关内容