Ver Feed RSS

Yoshio Iwamoto

Hypertext Access: htaccess

Avalie este Post de Blog
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
Código :
 Redirect 301 / http://outrodominio.com.br/
Exemplo 2: Redirecionando uma página específica
Código :
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.

Código :
ErrorDocument 404 /pagina_404_customizada.html
O mesmo vale para redirecionar outras página 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).

Exemplo:


Código :
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.

Código :
Options -Indexes
Mudando extensões dos arquivos
Se você quiser migrar/trocar suas páginas *.html para *.php poderá utilizar o seguinte comando.

Código :
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.

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]
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.
Código :
AccessFileName .config

Atualizado 09-02-2010 em 09:54 por Yoshio

Categorias
Dicas

Comentários

  1. Avatar de Splinther
    Olá amigo, eu utlizo .htacces em meu projetos, fiquei intrigado com o que vc disse no começo:

    Quando utilizar ?
    "Por questões de performance e segurança: NUNCA!!!!!!!!!!!!11..."

    Utilizo muito o redirecionamento, deny access entre outras funções...

    Isso influencia em performance, ou até mesmo em segurança ???
    Atualizado 10-02-2010 em 21:05 por Splinther
  2. Avatar de Yoshio
    Citação Postado originalmente por Splinther
    Olá amigo, eu utlizo .htacces em meu projetos, fiquei intrigado com o que vc disse no começo:

    Quando utilizar ?
    "Por questões de performance e segurança: NUNCA!!!!!!!!!!!!11..."

    Utilizo muito o redirecionamento, deny access entre outras funções...

    Isso influencia em performance, ou até mesmo em segurança ???
    Acabei de criar um outro post no blog da Stiod sobre este assunto: Stiod Blog » Blog Archive » Por que o htaccess deve ser evitado?
    Atualizado 11-02-2010 em 12:19 por Yoshio
  3. Avatar de Marcos Cassiano
    Estou tendo um problema, tenho 2 dominios que estão direcionados para a mesma raiz. Vou tentar explicar.

    http://www.marcoscassiano.com > ( dominio original )
    http://www.expert3d.com.br > ( esta na mesma raiz do acima )

    Problema:

    Eu não consigo fazer o dominio EXPERT3D ser direcionado para uma pasta especifica: exemplo

    http://www.expert3d.com.br > para > http://www.expert3d.com.br/curso/

    mas se digitar:

    http://expert3d.com.br > ela vai > http://www.expert3d.com.br/curso/

    Utilizei o .htaccess para direcionar só que ele só faz isso se nao digitar o WWW na frente do endereço.

    Alguem poderia me ajudar?

    [email protected]

    Obrigado.

+ Enviar Comentário