
Ich versuche, videos.mydomain.com/kickboxing
eine Weiterleitung zu einem YouTube-Link zu erhalten, sowie videos.mydomain.com/classes
eine Weiterleitung zu einemandersYouTube-Link. (Dies sind beides nicht aufgeführte Wiedergabelisten, und ich möchte, dass diese Weiterleitung automatisch für alle erfolgt, die Zugriff auf unsere Website haben. Dies ist Schritt 1 von mehreren Konfigurationsschritten, und ich kriege es einfach nicht hin, dass es funktioniert.)
Hier ist meine Konfiguration:
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;
}
Ich habe dies in meinen verfügbaren Sites eingerichtet und aktiviert (und natürlich DNS eingerichtet). Leider, wenn ich zu den URLs navigierehttp://videos.mydomain.com/kickboxingoderhttp://videos.mydomain.com/classes, alles was ich bekomme ist die 404-URL. Wenn ich die return 404
Zeile in eine der return 301
Zeilen ändere, wird sie entsprechend umgeleitet, abernurfür diese bestimmte URL. Die Abschnitte scheinen nicht richtig identifiziert zu werden location
.
Antwort1
Dies geschieht, weil Sie return 404;
den server
Block eingefügt haben.
Umschreibungenauf der server
Ebene werden verarbeitetVorUmschreibungen auf dieser location
Ebene.
Um das Problem zu beheben, fügen Sie es in ein ein location
. (Als allgemeine Regel sollten Sie Anfragen immer in einem verarbeiten location
.)
location / {
return 404;
}