Estou tentando videos.mydomain.com/kickboxing
redirecionar para um link do YouTube, bem como videos.mydomain.com/classes
redirecionar para umdiferenteLink do YouTube. (Ambos são listas de reprodução não listadas e quero que qualquer pessoa que tenha acesso ao nosso site faça com que esse redirecionamento aconteça automaticamente para eles. Esta é a etapa 1 de várias etapas de configuração e não consigo fazê-lo funcionar).
Aqui está minha configuração:
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;
}
Eu configurei isso em meus sites disponíveis e também ativei (e, claro, configurei o DNS). Infelizmente, quando navego para os URLshttp://videos.meudominio.com/kickboxingouhttp://videos.meudominio.com/classes, tudo que recebo é o URL 404. Se eu mudar a return 404
linha para uma das return 301
linhas, ela será redirecionada apropriadamente, masapenaspara esse URL específico. Parece não estar identificando corretamente as location
seções.
Responder1
Isso acontece porque você colocou return 404;
o server
bloco.
Reescreveno server
nível são processadosantesreescreve no location
nível.
Para resolver o problema, coloque-o em um arquivo location
. (Como regra geral, você deve sempre processar solicitações em um arquivo location
.)
location / {
return 404;
}