GCS Amplitude
GCS Amplitude

Tutorial do Apache: arquivos .htaccess

| Módulos Relacionados | Diretrizes Relacionadas | |---|---|

Se você quiser renomear o seu arquivo .htaccess

para outro nome, você deve usar a diretriz

. Por exemplo, se você prefere que o arquivo se chame AccessFileName.config

, então você pode adicionar a seguinte linha ao seu arquivo de configuração do servidor:

usam a mesma sintaxe que os arquivos de configuração principal. O que você pode colocar nesses arquivos é determinado pele diretriz

. Essa diretriz especifica, em categorias, quais diretrizes serão aceitas caso sejam encontradas em um arquivo AllowOverride.htaccess

, a documentação para essa diretriz irá conter uma seção Override, especificando que valor precisa estar em

para que esta diretriz seja permitida.AllowOverride

Por exemplo, se você procurar na documentação pela diretriz

, você achará que ela é permitida nos arquivos AddDefaultCharset.htaccess

. (Veja a linha Contexto no sumário das diretivas.) A linha Override lê FileInfo

Se você estiver incerto se uma diretriz em particular é aceita em um arquivo .htaccess

, procure na documentação por essa diretriz, e verifique a linha de Contexto por ".htaccess".

. Esse simplesmente não é o caso. Você pode usar as configurações de autenticação de usuário no arquivo de configuração principal do servidor, e isso é, de fato, a maneira mais adequada de se fazer as coisas.

devem ser usados em casos onde os provedores de conteúdo do site precisem fazer mudanças na configuração do servidor por-diretório, mas não tem acesso root ao sistema do servidor. Caso o administrador do servidor não esteja disposto a fazer mudanças freqüentes nas configurações do servidor, é desejável permitir que os usuários possam fazer essas mudanças através de arquivos .htaccess

eles mesmos. Isso é particularmente verdade, por exemplo, em casos onde provedores estão fornecendo múltiplos sites para usuários em apenas uma máquina, e querem que seus usuários possam alterar suas configurações.

No entanto, de modo geral, o uso de arquivos .htaccess

deve ser evitado quando possível. Quaisquer configurações que você considerar acrescentar em um arquivo .htaccess

Existem duas razões principais para evitar o uso de arquivos .htaccess

A primeira delas é a performance. Quando

causa um impacto na performance, mesmo sem você usá-los de fato! Além disso, o arquivo .htaccess

é carregado toda vez que um documento é requerido.

Além disso, note que o Apache precisa procurar pelos arquivos .htaccess

em todos os diretórios superiores, para ter o complemento total de todas as diretivas que devem ser aplicadas. (Veja a seção como as diretrizes são aplicadas.) Então, se um arquivo de um diretório /www/htdocs/example

Assim, para cada acesso de arquivo fora desse diretório, existem 4 acessos ao sistema de arquivos adicionais, mesmo que nenhum desses arquivos estejam presentes. (Note que esse só será o caso se os arquivos .htaccess

A segunda consideração é relativa à segurança. Você está permitindo que os usuários modifiquem as configurações do servidor, o que pode resultar em mudanças que podem fugir ao seu controle. Considere com cuidado se você quer ou não dar aos seus usuários esses privilégios. Note também que dar aos usuários menos privilégios que eles precisam, acarreta em pedidos de suporte técnico adicionais. Tenha certeza que você comunicou aos usuários que nível de privilégios você os deu. Especificar exatamente o que você configurou na diretriz

, e direcioná-los para a documentação relevante, irá poupá-lo de muita confusão depois.AllowOverride

Perceba que é exatamente equivalente colocar o arquivo .htaccess

AddType text/example .exm

No entanto, adicionando isso ao seu arquivo de configuração do servidor resultará em uma menor perda de performance, na medida que a configuração é carregada no momento da inicialização do servidor, ao invés de toda que que um arquivo é requerido.

pode ser totalmente desabilitado, ajustando a diretriz

no diretórios superiores. As diretrizes são aplicadas na ordem que são achadas. Logo, um arquivo .htaccess

em um diretório em particular, pode sobrescrever as diretrizes encontradas em um diretório acima deste em sua respectiva árvore. Estes, por sua vez, podem ter suas diretrizes sobrescritas por diretrizes ainda mais acima, ou no próprio arquivo de configuração principal do servidor.

nós temos um arquivo .htaccess

No diretório /www/htdocs/example1/example2

Devido a esse segundo arquivo .htaccess

, a execução de scripts CGI não é permitida, pois somente Options Includes

está em efeito, o que sobrescreve completamente quaisquer outros ajustes previamente configurados.

devem ser usados apenas se você não tem acesso ao arquivo principal de configuração do servidor. Veja acima a discussão sobre quando você deve e quando não deve usar os arquivos .htaccess

Dito isso, se você ainda acredita que precisa usar um arquivo .htaccess

, a configuração a seguir provavelmente funcionará para você.

AuthUserFile /www/passwords/password.file

AuthGroupFile /www/passwords/group.file

precisa estar habilitado para que estas diretrizes tenham efeito.

Por favor veja o tutorial de autenticação para uma discussão mais completa sobre autenticação e autorização.

AddHandler server-parsed shtml

precisam estar habilitados para essas diretrizes terem efeito.

AddHandler cgi-script cgi pl

Alternativamente, se você desejar que todos os arquivos de um dado diretório, sejam considerados programas CGI, isso pode ser feito com a seguinte configuração:

Mais comumente, o problema é que a diretriz

não está habilitada corretamente para que as suas diretrizes de configurações sejam honradas. Verifique se você não possui AllowOverride AllowOverride None

ajustado para o escopo do arquivo em questão. Um bom meio de testar isso é colocar "lixo" em seu arquivo .htaccess

e recarregá-lo. Se não for gerado nenhum erro do servidor, certamente você tem AllowOverride None

Se, por outro lado, você está obtendo erros do servidor ao tentar acessar documentos, verifique o registro de erros do Apache. Ele provavelmente irá indicar que a diretriz usada em seu arquivo .htaccess

não é permitida. Alternativamente, ele pode acusar erros de sintaxe que você terá que corrigir.

Módulos | Diretrizes | FAQ | Glossário | Mapa do site

Servidor HTTP Apache Versão 2.4

Tutorial do Apache: arquivos .htaccess

Línguas Disponíveis: en | fr | ja | ko | pt-br

Arquivos .htaccess

O que eles são/Como usá-los

Os arquivos .htaccess (ou "arquivos de configuração distribuída") oferecem um meio de fazer mudanças nas configurações por-diretório. Um arquivo, contendo uma ou mais diretrizes de configurações, é colocado em um diretório em particular, e as diretrizes se aplicam para aquele diretório e todos os se

Quando (não) usar arquivos .htaccess

No geral, você nunca deve usar arquivos .htaccess a não ser que você não tenha acesso ao arquivo de configuração principal do servidor. Existe, por exemplo, um erro de concepção que dita que a autenticação de usuários sempre deve ser feita usando os arquivos .htaccess. Esse simplesmente não é o caso

Como as diretrizes são aplicadas

As diretrizes de configuração que se encontram em um arquivo .htaccess são aplicadas para o diretório no qual o arquivo .htaccess se encontra, e para todos os subdiretórios ali presentes. Mas, é importante lembrar também que podem existir arquivos .htaccess no diretórios superiores. As diretrizes sã

Exemplo de Autenticação

Se você veio diretamente à esta parte do documento para aprender como fazer autenticação, é importante notar uma coisa. Existe uma concepção errada, mas muito comum, de que é necessário o uso de arquivos .htaccess para implementar a autenticação por senha. Este não é o caso. Colocar diretrizes de se

Exemplo de Server Side Includes

Outro uso comum de arquivos .htaccess é ativar o Server Side Includes para um diretório em particular. Isto pode ser feito com as seguintes diretrizes de configuração, colocadas em um arquivo .htaccess no diretório desejado:

Exemplo de CGI

Finalmente, você pode querer que um arquivo .htaccess permita a execução de programas CGI em um diretório em particular. Isto pode ser implementado com as seguintes configurações:

Resolvendo Problemas

Quando você adiciona diretrizes de configuração em um arquivo .htaccess, e não obtém o efeito desejado, existe uma série de pontos que podem estar errados.