Hypertext Access: htaccess
por
em 09-02-2010 às 01:07 (4683 Visualizações)
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 estabelecida pela diretriz AllowOverride.
Para utiliza-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ê encontra no blog da Stiod.
Quando utilizar?
Por questões de performance e segurança: NUNCA!!!!!!!!!!!!11...
Obviamente se o htaccess existe é porque há um motivo. Utilize 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 habilidado.
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
Exemplo 2: Redirecionando uma página específicaCódigo :Redirect 301 / http://outrodominio.com.br/
404 RedirectCódigo :Redirect 301 /pagina_de.html http://dominio.com.br/pagina_para.html
Redirecionando erros 404, o famoso "Page not found" (Página não Encontrada), para um outra página.
O mesmo vale para redirecionar outras página de erro como 403, 500 e 666. o.OCódigo :ErrorDocument 404 /pagina_404_customizada.html
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).
Exemplo:
- De Registro de domínios SeuNome.com e SeuNome.com.br e hospedagem de sites para http://seudominio.com.br/index.html
- De http://seudominio.com.br/diretorio/ para http://seudominio.com.br/diretorio/index.html
Negando listagem de diretórioCódigo :DirectoryIndex index.html index.txt index.exe
Já que eu comentei, para não permitir a listagem de diretórios adicione o seguinte comando no htaccess.
Mudando extensões dos arquivosCódigo :Options -Indexes
Se você quiser migrar/trocar suas páginas *.html para *.php poderá utilizar o seguinte comando.
Só fique esperto com o uso de iframesCódigo :RedirectMatch 301 (.*)\.html$ http://www.seudominio.com.br$1.php
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.
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.Código :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]
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.
Código :AccessFileName .config
Comentários
+ Enviar Comentário