Como servir html estático do caminho de URL arbitrário no nginx?

3

Gostaria de veicular example.com/mypage.html de example.com/mypage .

Dentro do nginx.conf eu tentei colocar mypage.html no diretório raiz designado e então

location /mypage}
 alias mypage.html;
}

Mas não há dados. Deve ser algo parecido?

Edit: Se eu colocar o caminho inteiro de '/' no alias ele funciona, mas eu prefiro que seja relativo a partir do diretório raiz do conjunto. Como faço referência ao diretório raiz que defini anteriormente na configuração:

root /usr/share/nginx/www;

Além disso, quando eu faço isso e o cliente faz uma solicitação para / mypage, o nginx assume como padrão o tipo de arquivo de fluxo de octetos. Como eu forço o texto / html para URLs que eu defino assim?

    
por user1561108 29.11.2012 / 02:05

1 resposta

5

Você pode adicionar o seguinte ao seu bloco location / para que ele funcione para todas as páginas. Primeiro, ele tentará servir o uri solicitado, se isso não funcionar, ele tentará veiculá-lo com uma extensão html (sem adicioná-lo ao URL)

location / {
    try_files $uri $uri.html $uri/ /index.html;
}

ou se você quiser que apenas trabalhe com uma página, você pode adicionar o seguinte ao seu bloco de servidor

location ~ /mypage {
    try_files $uri.html /index.html;
}
    
por 29.11.2012 / 02:17

Tags