Apache - favicon e robots padrão

Publicado por kleber galucio em 08/05/2010

[ Hits: 12.305 ]

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

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]

Listar artigos por ID/DESC no Joomla

Páginas de erros com imagens no Squid

Leitura recomendada

Debian Etch com som MCP65

Plugin do Banco do Brasil (Warsaw) no Fedora 31

Restaurando configuração padrão do Ubuntu

Autenticação no Apache

Habilitando scroll em mouse genérico USB no Slackware 10.2

  

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