Nginx config para redirecionar para $ URI

2

Eu tenho um problema com o nginx. Se você chamar "example.com" ou "example.example.com", o nginx a redirecionará para "www.example.com", como deseja, sem problemas. Mas ele não redireciona se eu inserir um URI assim: "example.com/doesnt-redirect". Não adicionará o "www". parte e, portanto, recebo um 404 do meu Blog-Site. Minha configuração é:

server {

    listen 80;
    server_name www.example.com *.example.com;

    if ($http_host != "www.example.com") {
        return  301 http://www.example.com$request_uri;
    }

    root /home/ghost/;
    index index.html;

}
    
por Zazama 28.01.2015 / 17:32

1 resposta

1

Use server_name .example.com; em vez disso.

Da documentação de nomes de servidores do nginx:

A special wildcard name in the form “.example.org” can be used to match both the exact name “example.org” and the wildcard name “*.example.org”.

Observe que www.example.com pode ser removido, pois o formulário curinga corresponderá a ele de qualquer maneira.

    
por 28.01.2015 / 17:33