• Mostrando resultados da busca por {{ posts_busca["corrected"] }} {{termo_busca}}
  • {{post.title}}
  • Não foram encontrados resultados para {{ posts_busca["corrected"] }} {{termo_busca}}

Removendo extensões de arquivos das URLs

André Brasil - Time de Atendimento da KingHost

Não quer que apareça nas páginas do seu site extensões de arquivos como php e html? Legal! Além de esconder o tipo de arquivo que o seu site possui, essa configuração também é visivelmente mais agradável para os usuários do site.

Exemplo: Digamos que o teu site possua um arquivo/página chamada contato.php. Depois de configurada essa opção no .htaccess, o acesso começa a responder/exibir apenas “contato”. Além de ocultar a extensão, também faz com que o usuário não precise digitar o “.php” para acessar a página.

Este tutorial é válido se você hospeda seu site em plano Linux com webserver Apache.

Removendo extensões de arquivos das URLs via .htaccess

Essa configuração é feita através de uma regravação de URL. Portanto, insira o seguinte código no arquivo .htaccess dentro do diretório de FTP no qual deseja aplicar essa configuração.

O exemplo de código abaixo mascara arquivos .php. Para demais extensões, altere as referências de php para a linguagem desejada nas linhas 3 e 4.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Exemplo:

Exemplo de remoção de extensões de arquivos
Exemplo: Extensão PHP removida

Customizações da regra

Remover extensão do arquivo e forçar uso da barra (/) no final do endereço

Assim como no exemplo acima, a extensão utilizada como exemplo é a PHP.

RewriteEngine On
RewriteBase /

# Remover extensão do arquivo (exemplo: /arquivo.php para /arquivo)
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]

# Adicionar o barra (/) no final do endereço URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule . %{REQUEST_URI}/ [L,R=301]

# Redirecionar internamente as páginas sem extensão para o arquivo correspondente (crucial para o funcionamento da página)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

Somente forçar barra (/) no final da URL sem remover a extensão

# Forçar barra no final da URL
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Esse artigo foi útil pra você?