Nginx

使用子文件夾(nginx)將基域重定向到 url

  • February 18, 2021

我們目前的 nginx 執行良好。我們特別需要重寫,但我似乎無法讓它工作。

我們希望將以下https://www.domain.com/>重定向到<https://www.domain.com/xxx/。但是只有在斜杠後面沒有任何東西(或者如果可能的話也沒有斜杠)時,重定向才應該起作用。

我嘗試了一些類似的東西

rewrite ^ https://www.domain.com/xxx/ permanent; 

但後來我得到了太多的重定向。

在您的語句中rewrite ^ https://www.domain.com/xxx/ permanent;, the^是匹配任何URI 的正則表達式。您只想匹配一個非常具體的字元串,因此您需要指定開始和結束錨點。

例如:

rewrite ^/$ /xxx/ permanent;

正則表達式^/$匹配網站的根 URI。所有 Nginx URI 都有一個前導/,根 URI 包含一個/(即使某些瀏覽器選擇將其隱藏在地址欄中)。

如果方案或主機名未更改,則無需指定它們。有關詳細資訊,請參閱此文件


或者,該location = /語句也匹配單個 URI。例如:

location = / {
   return 301 /xxx/;
}

有關詳細資訊,請參閱此文件

引用自:https://unix.stackexchange.com/questions/635121