Apache - favicon e robots padrão

Publicado por kleber galucio em 08/05/2010

[ Hits: 12.103 ]

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

Páginas de erros com imagens no Squid

Listar artigos por ID/DESC no Joomla

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

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

Leitura recomendada

Resolvendo problemas no Azureus

Linux Mint atualizando versões 17 e 17.1 para 17.2 Rafaela

Como redimensionar o menu de aplicativos do KDE plasma 5.21

Como habilitar o login como root no Debian 6 (Squeeze)

Adicionando comandos na inicialização do Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts