Nginx
nginx 重定向或返回單個位置
我正在嘗試
videos.mydomain.com/kickboxing
重定向到 YouTube 連結,以及videos.mydomain.com/classes
重定向到不同的YouTube 連結。(這些都是未列出的播放列表,我希望任何有權訪問我們網站的人都能自動為他們進行重定向。這是配置它的幾個步驟的第 1 步,我似乎無法讓它工作)。這是我的配置:
server { server_name videos.mydomain.com; root /var/www/www.mydomain.com; listen 80; access_log /var/log/nginx/videos.mydomain.com-access.log; error_log /var/log/nginx/videos.mydomain.com-error.log debug; location /classes { return 301 https://youtube.com/playlist?list=classes-playlist; } location /kickboxing { return 301 https://youtube.com/playlist?list=kickboxing-playlist; } return 404; }
我已經在我的可用站點中設置了它,並啟用了它(當然,設置了 DNS)。不幸的是,當我導航到網址http://videos.mydomain.com/kickboxing>或<http://videos.mydomain.com/classes時,我得到的只是 404 網址。如果我將該
return 404
行更改為其中return 301
一行,那麼它將適當地重定向,但僅適用於該特定 url。似乎沒有正確辨識這些location
部分。
發生這種情況是因為您放入
return 404;
了server
塊中。在
server
級別的重寫之前處理級別的重寫location
。要解決此問題,請將其放入
location
. (作為一般規則,您應該始終在 . 中處理請求location
。)location / { return 404; }