Я пытаюсь сделать videos.mydomain.com/kickboxing
перенаправление на ссылку YouTube, а также videos.mydomain.com/classes
перенаправление надругойСсылка на YouTube. (Это оба неперечисленных плейлиста, и я хочу, чтобы для всех, у кого есть доступ к нашему веб-сайту, это перенаправление происходило автоматически. Это первый из нескольких шагов по настройке, и у меня, похоже, не получается это сделать).
Вот моя конфигурация:
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). К сожалению, когда я перехожу по URL-адресамhttp://videos.mydomain.com/кикбоксингилиhttp://videos.mydomain.com/classes, все, что я получаю, это URL 404. Если я изменю строку return 404
на одну из return 301
строк, то она будет перенаправлена соответствующим образом, нотолькодля этого конкретного URL. Кажется, он неправильно идентифицирует location
разделы.
решение1
Это происходит потому, что вы ставите return 404;
блок server
.
Переписываетна server
уровне обрабатываютсядопереписывает на location
уровне.
Чтобы устранить проблему, поместите ее в location
. (Как правило, вы всегда должны обрабатывать запросы в location
.)
location / {
return 404;
}