nginx 將除特定檔案和子目錄之外的所有內容解析(指向)不同的 ip

nginx 將除特定檔案和子目錄之外的所有內容解析(指向)不同的 ip

所以我在 stackoverflow 上發布了類似的問題,但我認為這是更合適的部分。

我現在擁有的是一個旅行博客,在該博客上我有用於門票/預訂的白標籤。

白標籤網站基本上是指向別名網域的子網域

假設我的網站是mytravelblog.com,白標籤是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;
}

相關內容