Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola amigos, boa noite!
Recebi um e-mail com dois links de sites diferente, porem link's iguais, vejam:
http://www.facebook.com/#!/usuario
O orkut tbm funciona de maneira parecida
http://www.orkut.com.br/Main#Home
http://www.orkut.com.br/Main#Scrapbook
Como funciona esse tipo de link e como faze-los?
Seria com reescrita?
Acho que essa é uma dúvida de muitos.
Vlw amigos,
Ola Eliseu, isso eu sei, o que eu achei estranho foi o uso do #! no facebook e twitter e # no orkut.
Sobre a reescrita, eu estou começando a ultilizar de forma simples.
Vlw
O sinal de "#" (conhecido como cerquilha, jogo da velha, etc) num URL é conhecido como âncora, e a finalidade dele é apontar um conteúdo dentro de uma determinada página sem que a página ela seja recarregada.
No caso desses sites eles usam a âncora em conjunto com Ajax pra carregar o conteúdo dinâmicamente sem que a página seja recarregada.
A diferença entre "#" e "!#" é que, usando o sinal de exclamação o URL é encarado pelos mecanismos de busca como uma página diferente, já se não usar a exclamação os mecanismos de busca só vão considerar o que vem antes da cerquilha.
Para usar âncora não é necessário reescrita de URL, no caso do Orkut por exemplo a ancora é usada após o arquivo Main.aspx sem a extensão, e no caso do Twitter e Facebook é usado a âncora na raíz "/", não havendo nenhuma reescrita. Quem vai fazer o roteamento das âncoras é o Ajax.
Com certeza é com reescrita. No caso do Twitter e do Facebook, eles usam servidor Apache, daí você terá que criar um arquivo chamado .htaccess (sem nome mesmo, só a extensão) no diretório do seu site e então definir regras, exemplo:
Transformar site.com/produto.php?id=1 para site.com/1
RewriteEngine On
RewriteRule ^([^/]*)$ /produto.php?id=$1 [L]
Isso vai dentro do arquivo. Daí é só reiniciar o servidor e testar.
Lembrando que o que há acima é só o princípio. Essas comunidades também utilizam Ajax, um objeto em JavaScript.