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
Nenhum comentário foi encontrado.