Mar 26

Escondendo a extensão de arquivos da URL. (Removing file extensions from URL)


Uma simples forma de esconder a extensão dos arquivos, da URL do seu site, é utilizando o .htaccess, com uma ajudinha do modrewrite e das expressões regulares.

Ao invés de acessar por http://example.com/teste.php, a idéia é permitir que o usuário acesse a mesma página através do endereço http://example.com/teste (veja, sem a extensão .php).

Para isso, crie um arquivo .htaccess na raiz do seu site ou da sua aplicação com as instruções abaixo:

1
2
3
4
5
6
7
8
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} (.*)/([^/]+)(\?.*)?$
RewriteCond %1/%2.php -f
RewriteCond %{REQUEST_URI} (.*)/([^/]+)(\?.*)?$
RewriteRule .* %1/%2.php [QSA]

Agora é só testar ;)

9 Responses

  1. André Says:

    Olá,
    serve para páginas em python?

  2. Caio Ariede Says:

    Olá André.

    Serve sim, se você associar o .py ao handler (http://www.modpython.org/python10/) por exemplo, você só precisa trocar o ali no .htaccess o .php pra .py.

    Dependendo da framework python que você utilizar, ela já te oferece essas opções.

  3. douglas(kiko) Says:

    contribuindo.
    http://www.numaboa.com.br/informatica/webmaster/htaccess/htaccess6.php

    veja la embaixo nos indices.. tem muita coisa legal que da pra fazer com .htaccess :)

  4. William Says:

    eu testei aqui e não funcionou.. :P

  5. Caio Ariede Says:

    Qual o problema William?

    Verificou o error_log do apache?

  6. William Says:

    não ocorreu erro nenhum, ele só não esconde a extensão..

    e não verifiquei o log de erro.

  7. Celso jr Says:

    Aqui funcionou!

    Obrigado, estava procurando isso a algum tempo!

  8. Web Designer Demétrios Says:

    Aqui rolou, porém os links do site apontam com a extensão PHP, como faço pra que tudo fique sem extensão?
    (vou precisar tirar a extensão PHP de todos os links do site?)

  9. Caio Ariede Says:

    Sim Demétrios.

    É só retirar a extensão dos links, isso infelizmente tem de ser feito na mão.

    abraços.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.