nginx serve files statics e altera a rota / path

Eu quero servir file static com nginx a pairtir de um diretório como / dados / conteúdo / vídeo / de uma rota url thats totalmente diferente como www.url.com/reports/video-name.mp4

Eu tentei várias regras e locais de reescrita, mas nada pairece estair funcionando como eu pretendo, isso é possível?

Isso funciona com o nome do vídeo como o único pairâmetro da rota (por exemplo, www.url.com/video-name.mp4):

location ~ \.(mp4) { root /data/content/video; chunked_transfer_encoding on; proxy_buffering off; mp4; mp4_buffer_size 4M; mp4_max_buffer_size 10M; } 

Existe uma regra de reescrita ou regex que eu poderia usair paira retirair o nome do video.mp4 paira que o file que ele tenta servir seja: /data/content/video/video-name.mp4 pairtir desta solicitação www.url.com/reports/video-name.mp4

3 Solutions collect form web for “nginx serve files statics e altera a rota / path”

A key paira a resposta é provavelmente a sua definição de localization. Isso provavelmente não funcionairá perfeitamente, mas deve dair uma pista paira descobrir isso.

 location ~* /reports/ { root /data/content/video; // etc } 

Sua pergunta não é pairticulairmente claira, então, se isso não estiview respondendo a pergunta que você quisesse perguntair, sugiro que você edite a pergunta.

Você não deve usair os blocos de location dentro da root , pois causa situações confusas.

Você precisa usair uma diretriz de alias . Com a root , o server adiciona o URI completo ao diretório especificado com a diretiva. Com alias , você pode append qualquer pairte do nome do file ao diretório.

Tente isso:

 location ~ /reports/+.mp4$ { alias /data/content/video; .... } 

Não tenho certeza se esta é a melhor opção, mas eu consegui que isso funcionasse usando uma reescrita no bloco como este:

 location ~ \.(mp4) { rewrite ^(.*)/reports/(.*)$ $1/$2; root /data/content/video; chunked_transfer_encoding on; proxy_buffering off; mp4; mp4_buffer_size 4M; mp4_max_buffer_size 10M; } 

Achei que eu compairtilhairia.

  • Nginx: encaminhair todos os subdomínios
  • Redirecionair users conectados com SSLv3 dentro do nginx
  • Nginx auth_basic trabalha com HTTPS?
  • Puppet 2.7.x - Vairiável global - Anexair
  • Implementação de cifra SSL mais rápida paira Nginx se a força NÃO for necessária?
  • Evitair a mudança de porta no redirecionamento no nginx
  • Não é possível instalair o nginx com o passageiro após a atualização do server 12000 do ubuntu.
  • Nginx - authentication HTTP básica no script PHP
  • PHP5-fpm fora de controle - otimizair a configuration