Apache - favicon e robots padrão

Publicado por kleber galucio em 08/05/2010

[ Hits: 9.691 ]

Blog: http://nld.klebrr.com/

 


Apache - favicon e robots padrão



Essa dica evita que o log de erros do Apache exiba um monte de erros 404 conforme abaixo:

[Sat May 01 07:49:01 2010] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico

E exibe um ícone e um txt padrão e personalizado caso não exista.

Solução 1

Criar um arquivo e colocar na raiz do site (/var/www/favicon.ico e robots.txt) e ou em todas as pastas raiz de múltiplos sites (virtual hosts).

Solução 2

Criar uma diretiva no httpd.conf que aponte o arquivo de ícone e texto padrão de todos os sites hospedados num mesmo servidor.

Siga os passos:

Tenha em mãos os seus próprios arquivos favicon.ico e robots.txt personalizados.

Crie uma pasta "ex" na raiz do servidor web (ver DocumentRoot). Exemplo:

# mkdir -p /var/www/ex

E copie os arquivos nessa pasta.

Edite o arquivo httpd.conf e logo abaixo da diretiva:

DocumentRoot "/var/www" # Diretório raiz do site
# bloco de diretivas do diretório raiz
.......
# fim do bloco, insira abaixo

Insira as linhas conforme abaixo:

# Abaixo a solução para quando não existir um arquivo favicon.ico ou robots.txt
# em qualquer (sub)diretório com acesso público.

RewriteEngine On
RewriteCond  %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule  .*favicon\.ico$    /var/www/ex/favicon.ico [L]
RewriteRule  .*robots\.txt$    /var/www/ex/robots.txt [L]

Caso utilize VirtualHosts, coloque antes do final de cada diretiva.

...
RewriteEngine On
RewriteCond  %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule  .*favicon\.ico$    /var/www/ex/favicon.ico [L]
RewriteRule  .*robots\.txt$    /var/www/ex/robots.txt [L]
# fim da diretiva

Reinicie o Apache para aplicar as alterações:

# /etc/init.d/apachectl restart

E teste acessando localhost/qualquerpasta/favicon.ico ou dominiovirtual/qualquerpasta/favicon.ico.

Lembrando que a diretiva abaixo:

RewriteCond  %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f

Testa se o arquivo requisitado existe no diretório especificado na (URL). Se existir um arquivo favicon.ico ou robots.txt em qualquer (sub)diretório, será exibido esse arquivo ao invés do que você personalizou.

Leitura recomendada: favicon.ico, robots.txt, apache2.2/virutalhost, mod_rewrite

Solução 3

Utilizando .htaccess (caso não tenha acesso ao httpd.conf).

Coloque o ícone e o robots.txt numa pasta "ex" de forma que tenha acesso público.

Crie um arquivo .htaccess na raiz do site (public_html) com o seguinte conteúdo:

RewriteEngine On RewriteCond  %{REQUEST_FILENAME} !-f RewriteRule  .*favicon\.ico$    /ex/favicon.ico [L] RewriteCond  %{REQUEST_FILENAME} !-f RewriteRule  .*robots\.txt$        /ex/robots.txt [L]

Até a próxima.

Outras dicas deste autor

Listar artigos por ID/DESC no Joomla

Páginas de erros com imagens no Squid

ERROR: SMTP Error: The following recipients failed: [Solução para Moodle - BlueHost]

BrOffice.org 3.2 não abre após reboot forçado? Eis a solução

Leitura recomendada

Repositórios, flash player, Amarok e K3b funcionando

Alterando o IP de sua placa de rede no Slackware 10 com um único comando

Volume acima de 100% no Elementary OS

Sudoers: Exemplos de uso e configuração da saída de log

Como instalar Webmin no Debian/Ubuntu e derivados

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts