Dicas para o Hypertext Access (htaccess)

Publicado por Yoshio Iwamoto em 11/02/2010

[ Hits: 8.227 ]

Blog: http://blog.stiod.com/

 


Dicas para o Hypertext Access (htaccess)



O Hypertext Access, ou apenas htaccess é um arquivo (oculto) com diretrizes de configuração do servidor HTTP Apache que são aplicadas por diretório.

Basicamente o htaccess utiliza a mesma sintaxe do arquivo de configuração principal do Apache, porém obedece as regras estabelecidas pela diretriz AllowOverride.

Para utilizá-lo crie um arquivo ".htaccess" no diretório onde você deseja que as regras sejam aplicadas e adicione dentro dele as diretrizes. As regras são aplicadas sem a necessidade de reiniciar o Apache.

O post original você pode encontrar no blog da Stiod.

Quando utilizar?

Por questões de performance e segurança: NUNCA!

Obviamente se o htaccess existe é porque há um motivo. Utilize-o nas seguintes condições:
  • Se sua hospedagem não permitir alterações nas configurações principais do Apache (permissão).
  • Se você precisar permitir que seus usuários possam alterar as configurações do Apache (ex.: servidor compartilhado), mas com uma certa limitação (hospedagem é um bom exemplo novamente).

De toda forma evite o uso do htaccess.

Dicas

As dicas abaixo funcionam não só no ".htaccess", mas também no arquivo de configuração principal do Apache (onde é mais recomendável).

Algumas dicas podem necessitar do módulo mod_rewrite habilitado.

301 Redirect

O "301 redirect" é a melhor forma de ser fazer um redirecionamento de uma página, além de Search Engine Friendly.

Exemplo 1: Redirecionando todo o website para um outro domínio:

Redirect 301 / http://outrodominio.com.br/

Exemplo 2: Redirecionando uma página específica:

Redirect 301 /pagina_de.html http://dominio.com.br/pagina_para.html

404 Redirect

Redirecionando erros 404, o famoso "Page not found" (página não encontrada) para um outra página:

ErrorDocument 404 /pagina_404_customizada.html

O mesmo vale para redirecionar outras páginas de erro como 403, 500 e 666. o.O

DirectoryIndex

A diretriz "DirectoryIndex" permite escolher uma lista de recursos/páginas/arquivos que serão retornados para a requisição de um index de diretório. Se o arquivo index não for especificado, será feita a listagem do diretório (se for permitido).

Por padrão é procurado pelo "index.html" (ou index.php ou outras extensões mais caóticas).

Exemplos:
  • De http://seudominio.com.br/ para http://seudominio.com.br/index.html
  • De http://seudominio.com.br/diretorio/ para http://seudominio.com.br/diretorio/index.html

DirectoryIndex index.html index.txt index.exe

Negando listagem de diretório Já que eu comentei, para não permitir a listagem de diretórios adicione o seguinte comando no htaccess:

Options -Indexes

Mudando extensões dos arquivos

Se você quiser migrar/trocar suas páginas *.html para *.php poderá utilizar o seguinte comando:

RedirectMatch 301 (.*)\.html$ http://www.seudominio.com.br$1.php

Só fique esperto com o uso de iframes! ;)

Tradução do Google

Traduz o site automaticamente através do Google Translate. Este até que é interessante (apesar de ainda não ter pensado em como poderá ser útil) e encontrei hoje no site da Dreamhost.

Fiz alterações para que seja de português para outros idiomas e aviso que ainda não testei.

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)-(en|es|it|jp|fr)$ http://www.google.com/translate_c?hl=$2&sl=pt&u=http://seudominio.com.br/$1 [R,NC]

Funciona da seguinte forma, quando alguém acessar "http://seudominio.com.br/-en" ele será traduzido de português(pt) para inglês(en) pelo Google Translate.

AccessFileName

Permite alterar o nome do arquivo htaccess (que por padrão é ".htaccess") para qualquer outra coisa como ".config". Esta diretriz na verdade deve ser utilizada no arquivo de configuração principal do Apache.

AccessFileName .config

Outras dicas deste autor

API do Twitter para Python

Leitura recomendada

Como proteger servidores que rodam SSH

Corrigindo as fontes feias no Chromium (Chrome) no Debian XFCE

Vim colorido

"We cannot detect a running copy of GNOME on this system" [Resolvido]

Linux Mint 17 (pós-instalação)

  

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