.htaccess - .htaccess

Um .htaccess ( hipertexto acesso de arquivo) é um diretório -level arquivo de configuração apoiada por vários servidores web , usados para a configuração do site questões -acesso, como a URL de redirecionamento , encurtamento de URL , controle de acesso (para diferentes páginas da web e arquivos), e mais. O 'ponto' (ponto final ou ponto final ) antes do nome do arquivo o torna um arquivo oculto em ambientes baseados em Unix .

Um site pode ter mais de um .htaccessarquivo e os arquivos são colocados dentro da árvore da web (ou seja, dentro de diretórios e seus subdiretórios) e, portanto, seus outros nomes de arquivos de configuração distribuídos .

.htaccessos arquivos atuam como um subconjunto do arquivo de configuração global do servidor (como httpd.conf) para o diretório em que estão ou para todos os subdiretórios.

O propósito original de .htaccess—refletido em seu nome — era permitir o controle de acesso por diretório, por exemplo, exigindo uma senha para acessar o conteúdo da World Wide Web . Mais comumente, no entanto, os .htaccessarquivos definem ou substituem muitas outras configurações, como tipo de conteúdo, conjunto de caracteres , manipuladores de interface de gateway comum , etc.

Formato e idioma

.htaccessos arquivos são gravados na variante das Diretivas Apache da linguagem Perl Compatible Regular Expressions (PCRE). Aprender o próprio PCRE básico pode ajudar a dominar o trabalho com esses arquivos.

Por razões históricas, o formato dos .htaccessarquivos é um subconjunto limitado do arquivo de configuração global do servidor Apache HTTP,httpd.conf mesmo quando usado com servidores web, como Oracle iPlanet Web Server e Zeus Web Server, que possuem arquivos de configuração global nativos muito diferentes.

Uso comum

Autorização , autenticação
Um arquivo .htaccess é freqüentemente usado para especificar restrições de segurança para um diretório, daí o nome de arquivo " access". O .htaccessarquivo geralmente é acompanhado por um .htpasswdarquivo que armazena nomes de usuários válidos e suas senhas .
Reescrita de URL
Os servidores costumam usar .htaccesspara reescrever URLs longos e excessivamente abrangentes em URLs mais curtos e memoráveis.
Bloqueio (controle de acesso)
Use permitir / negar para bloquear usuários por endereço IP ou domínio. Também usado para bloquear bots ruins, rippers e referrers. Freqüentemente usado para restringir o acesso de rastreadores da web .
SSI
Habilite inclusões do lado do servidor .
Listagem de diretório
Controle como o servidor reagirá quando nenhuma página da web específica for especificada.
Respostas de erro personalizadas
Alterar a página que é mostrada quando ocorre um erro do lado do servidor, por exemplo HTTP 404 não encontrado ou, para indicar a um mecanismo de pesquisa que uma página foi movida, HTTP 301 movido permanentemente .
Tipos MIME
Instrua o servidor sobre como tratar diferentes tipos de arquivos variados.
Controle de cache
.htaccessos arquivos permitem que um servidor controle o armazenamento em cache por navegadores da web e proxies para acelerar sites, reduzir o uso de largura de banda , carga do servidor e atraso percebido . .htaccesstambém adiciona a idade do cache aos recursos da página da web para que, ao revisitar a página, os elementos sejam recarregados do cache do navegador até que a idade mencionada expire, em vez de solicitar o recurso novamente do servidor.
HTTPS e HSTS
A implementação de HTTPS e HSTS em servidores Apache é amplamente dependente da reescrita de URL correta e das informações de cabeçalho mencionadas no .htaccessarquivo. Qualquer sintaxe incorreta no arquivo durante a implantação de HTTPS ou HSTS leva a uma falha na implementação.

Vantagens

Mudanças imediatas
Como os .htaccessarquivos são lidos a cada solicitação, as alterações feitas nesses arquivos têm efeito imediato - ao contrário do arquivo de configuração principal, que exige que o servidor seja reiniciado para que as novas configurações tenham efeito.
Usuários não privilegiados
Para servidores com vários usuários, como em hospedagem compartilhada na web , geralmente é desejável permitir que usuários individuais alterem a configuração do site. A utilização de .htaccessarquivos permite essa individualização, e por usuários sem privilégios - pois os principais arquivos de configuração do servidor não precisam ser alterados.

Desvantagens

Controlar o Apache usando o arquivo de configuração do servidor principal httpd.confé frequentemente preferível por motivos de segurança e desempenho:

Perda de desempenho
Para cada solicitação HTTP , há acessos adicionais ao sistema de arquivos para diretórios pais ao usar .htaccess, para verificar se há .htaccessarquivos possivelmente existentes nesses diretórios pais que têm permissão para conter .htaccessarquivos. É possível migrar de forma programática as diretivas de .htaccesspara httpd.confse essa perda de desempenho for uma preocupação.
Segurança
Permitir que usuários individuais modifiquem a configuração de um servidor pode causar problemas de segurança se não for configurado corretamente.
Sintaxe
.htaccessgeralmente é muito sensível a erros de sintaxe. Devido a isso, qualquer erro ortográfico pode levar a erros do servidor e recursos da web no diretório com o erro .htaccessnão sendo exibido de todo.

Na cultura popular

Partes do videogame Mackerelmedia Fish de 2020 , que explora temas da cultura da Internet, foram implementadas diretamente nos .htaccessdiretórios abertos de um site .

Veja também

Referências

links externos