Como definir um favicon.ico para um host virtual específico no Nginx?

23

Estou usando o Nginx como meu servidor pela primeira vez. Eu não tive nenhum problema para configurá-lo e tudo funciona muito bem. O problema surgiu quando o designer me perguntou se ele poderia me enviar "o ícone na barra de título" para "colocá-lo lá em cima".

# /opt/nginx/conf/nginx.conf
...
server {
    listen 80 ;
    server_name *.website.com website.com;
    root /home/webuser/sites/website;
}

Meu diretório:

/home/webuser/sites/website/
|_ index.html
|_ main.css
|_ favicon.ico

É possível colocar um favicon.ico específico em cada host virtual? Onde você deve colocar esse arquivo e como você pode configurá-lo?

EDITAR:

Acabei de perceber que era um problema completamente diferente. Ambas as respostas estavam certas, mas meu problema era a permissão. Eu não sei porque o arquivo favicon.ico acabou tendo permissões 600 e claro que no momento que fiz:

chmod +r favicon.ico

Trabalhou como um encanto. Vou deixar isso aqui se acontecer com outra pessoa.

    
por ersamy 05.09.2011 / 15:49

3 respostas

14
O arquivo

favicon.ico deve ser colocado no diretório raiz do site, que é definido pela diretiva nginx root . Ou você pode passar URL para favicon usando o seguinte código em HTML:

<link rel="shortcut icon" href="http://example.com/myicon.ico" />

    
por 05.09.2011 / 15:58
47

É assim que fazemos em nossa configuração específica de vhost ( sites-available/[vhostconfigfile] ) sob a diretiva do servidor:

location = /favicon.ico {
    alias /var/www/media/images/favicon.X.ico;
}

Dessa forma, você pode colocá-lo em qualquer lugar que desejar, sem nenhum tipo de HTML.

O ".X" não é obrigatório, e apenas indica que você pode alterar este nome de arquivo para qualquer coisa que desejar. Eu simplesmente uso o ".X". como um espaço reservado para identificar o subdomínio específico que estou referenciando. É puramente para organização.

    
por 23.01.2012 / 21:00
0

Isso significa que, sempre que os arquivos do host virtual forem retirados (diretório raiz), você deverá colocar esse arquivo favicon.ico específico.

    
por 05.09.2011 / 15:59