Como eu sirvo arquivos estáticos a partir de um mapa nginx?

2

Eu tenho um mapa do nginx dentro de uma configuração como esta:

map $uri $route {
  /route_a /path/to/a.html;
  /route_b /path/to/b.html;
}

server {    
  listen 8080;
  server_name example.dev;
}

Eu tentei rewrite dentro do bloco do servidor:

rewrite  ^ $route break;

Mas tenho um 404 ao tentar acessar /route_a .

Eu tentei location e alias dentro do bloco do servidor:

location ~ ^ {
  alias $route;
}

O que funcionou, mas serviu meu conteúdo como application/octet-stream .

Qual é a maneira correta de fazer isso?

Minha restrição é que os caminhos-para-arquivos URI devem ser definidos dentro do bloco map .

    
por Aupajo 10.01.2013 / 06:20

1 resposta

1

Você deve verificar seu log de erros para ver o que realmente acontece. Essa configuração funciona para mim:

map $uri $route {
    /route_a /path/to/a.html;
    /route_b /path/to/b.html;
}

server {
    root /;
    listen 8080;
    server_name localhost;

    location / {
        rewrite ^ $route break;
    }
}

É claro que /path/to/[ab].html deve existir.

Talvez você simplesmente esqueça de definir o caminho certo usando a diretiva "root"?

    
por 10.01.2013 / 09:39

Tags