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.
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:
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]