Modo de não precisar usar extensão de arquivo em Url? Com uso de Htaccess

Um modo de não precisar usar extensão em Url de arquivos de diversos tipos usando o .htaccess para permitir essa manipulação.

O formato do arquivo poderá ser ignorado mas não será totalmente oculto e nem mesmo bloqueado, apenas ficará a opção de usar ou não, pois o arquivo original não mudará.

Funciona para qualquer tipo de arquivo, php, css, js, mas um uso bem útil para mim foi no formato de imagens, ao criar uma página com várias imagens na qual eu coloquei o formato em minusculas e usei mais de um editor para criar as imagens um deles salvou com extensão em maiúscula, aí que resolvi usar a opção de remover a extensão no nome do arquivo ao escrevê-lo, assim também poupar alguns bytes no código html.

No caso abaixo seria para não precisar digitar .png para acessar as imagens nesse formato
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.png -f
RewriteRule ^([a-z,0-9,A-Z,_-]+)$ /$1.png

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.PNG -f
RewriteRule ^([a-z,0-9,A-Z,_-]+)$ /$1.PNG


O problema que eu tive, parece ter se estender para mais formatos de arquivos, ou pode ser que tal configuração seja padrão no servidor que testei, assim, se eu tivesse um outro arquivo com mesmo nome em mesmo diretório poderia me dar erro, sendo assim, esse código ainda me parece problemático, cabe ainda testes, mas, o problema será muito mais do uso de Url pelo webmaster ou pelo sistema por ele criado/gerenciado.

A última linha do código também poderia ser
RewriteRule ^(.*)$ $1.PNG

Sugestão de pesquisa .htaccess:
Uma função parecida, apenas para arquivos php, pode ser "AddType application/x-httpd-php" onde lhe permite usar outra extensão para arquivos php, ler mais

Uma função que poderia servir de "interpretar Url" maiúsculas e minusculas como igual seria "CheckCaseOnly on" ou "CheckSpelling On" mas, em muitos servidores não funciona, causa um erro 500 Internal Server Error

Sem comentários:

Enviar um comentário