☆♕ CabrinhaSexy ♕☆ 738 Posted December 4, 2014 Ora boas pessoal :D Bem venho vos aqui trazer um tutorial de como criar url's amigaveis para os vossos projetos. Url's amigaveis são otimas para digamos ditar de uma certa forma o sucesso do vosso site, ou seja, o visitante apartida saber logo pela url o conteudo da mesma mesmo antes de lá entrar. E o mais importante de tudo, é que este "sistema" digamos, ajuda e muito a posicionar o vosso site nos motores de busca. Existe varios motivos benefico para o uso de url's amigaveis. Mas deixamo-nos de conversas e vamos passar para a ação :P Voces por exemplo em certos sites já devem ter visto exemplos asseguir a estes: http://www.omeusite.pt/contato/http://www.omeusite.pt/produtos/camisetas/http://www.omeusite.pt/noticias/minha-noticia/2/ Este recurso é chamado de URL amigável… E porque tem este nome perguntam voces ? Exatamente como diz o nome, ele é Amigável com os sistemas de busca e com o visitante que não precisa olhar para a URL de um link ou do navegador e ver coisas estranhas e complicadas de entender como estas: http://www. omeusite.pt/contato.phphttp://www. omeusite.pt/produtos.php?categoria=5http://www. omeusite.pt/noticia.php?id=2 As URLs amigáveis são muito mais fáceis de usar e entender… Antes de clicar no link já vais saber do que se trata só de olhar pro endereço e os sistemas de busca aumentam a pontuação dessas páginas pois o endereço é relevante (por conter palavras que fazem parte do título e/ou conteúdo da página). Para começares a usar este recurso precisas antes entender o que acontece quando tu tentas acessar um endereço com o teu navegador: Caminho de uma requisição Quando tu digitas uma URL como http://www. omeusite.pt/contato.php no teu navegador o mesmo se comunica (envia uma requisição) com o servidor do site pedindo o “resultado” (HTML final) do endereço /contato.php e o servidor, utilizando regras internas, identifica esse endereço como pertencente ao arquivo contato.php e após executar o PHP ele retorna o código HTML final para o teu navegador. Claro que muitas outras coisas acontecem nesse caminho todo, mas essas são as etapas que tu precisas entender para conseguir construir o teu sisteminha de URLs amigáveis. Os códigos que tu aprenderes aqui vão agir exatamente nas “regras internas” do servidor, mudando o caminho do arquivo que ele irá procurar para ser executado e gerado o HTML. A grosso modo, usando o exemplo do contato, quando tu acessares o endereço http://www. omeusite.pt/contato/ o servidor (usando os códigos que tu definires) será instruído a usar o arquivo contato.php para responder por essa requisição, sem pra isso precisar redirecionar o visitante ou apresentar uma página de erro 404 (que é o que normalmente aconteceria). Começando o trabalho Tu precisas, antes de tudo, anotar em um papel os endereços atuais do teu site e como tu queres que eles fiquem… De alguma forma tu precisas de seguir um padrão e manter as mesmas informações que tu tinha antes… Vamos ver alguns exemplos: http://www.omeusite.pt/contato.php (A URL atual)http://www.omeusite.pt/contato/ (A nova URL)http://www.omeusite.pt/produtos.php?id=2 (A URL atual)http://www.omeusite.pt/produtos/camiseta-rosa/2/ (A nova URL)http://www.omeusite.pt/livros.php?categoria=suspense&pagina=3 (A URL atual)http://www.omeusite.pt/livros/suspense/pagina-3/ (A nova URL) Repara que em todos os novos formatos temos as mesmas informações que possuíamos no formato anterior, e em alguns casos adicionamos novas informações que, para o servidor, poderão ou não fazer diferença… Todos esses formatos são definidos por ti, mas tu vais ter de perceber que é preciso seguir um padrão para que uma regra não acabe atrapalhando a outra. É bom relembrar que o que fizermos aqui não é restrito a PHP, isto funcionará com qualquer outra linguagem desde que estejamos rodando o servidor com Apache. Claro que há outras formas de fazer URLs Amigáveis em servidores como IIS e etc. mas não vou falar sobre isso aqui. Criando a sua primeira URL Amigável Infelizmente, o mundo não é um mar de rosas e tu vais precisar aprender um pouquinho de Expressões Regulares antes de conseguires ir por ai fazendo regras, mas felizmente existem ótimos guias na Internet. Recomendo que, antes de mais nada, se conseguires entender um bocado de inglês e quiseres realmente conseguir usar URLs Amigáveis da melhor forma no teu site, le a documentação do mod_rewrite no site da Apache, e acredita que essa documentação é realmente importante e significativa. Vamos começar com o exemplo da página de contato que atualmente tu acessas pelo endereço http://www.omeusite.pt/contato.php. Vái até a raiz do seu site e edita (ou cria) um arquivo chamado .htaccess (leia mais aqui), e dentro dele coloque as seguintes linhas que explicarei mais a daqui nada: <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^contato/?$ /contato.php [NC,L]</IfModule> Agora vamos ás explicações… O que é um arquivo .htaccess? Os arquivos .htaccess são arquivos de acesso e configuração do Apache, são arquivos lidos pelo Apache toda vez que tu tentas acessar um arquivo que esta dentro de uma pasta (ou sub pastas) onde exista um arquivo .htaccess. Nesse arquivo podemos criar regras de bloqueio de acesso, redirecionamentos e reescritas de URL. Linhas 1 e 5: IfModule O IfModule é como um bloco de condição que verifica se um certo módulo existe e está habilitado, nesse caso estamos verificando se o módulo mod_rewrite.c está presente… Se estiver, tudo que estiver dentro desse bloco será lido… Caso contrário tudo continuará como antes e o redirecionamento não irá funcionar. Linha 2: RewriteEngine On Esta linha habilita o sistema de reescrita de URL, é com ele que iremos fazer a nossa URL amigável funcionar. Linha 4: A URL amigável É na quarta linha que a mágica acontece… Vamos ver essa linha como se estivesse divida em quatro partes: Na parte amarela temos o comando que signifca “regra de reescrita”, o que diz para o Apache que nessa linha teremos uma regra para ser verificada e que pode reescrever a URL do acesso Na parte verde temos ^contato/?$ que é uma expressão regular que será usada para validar a URL. Não vou entrar em detalhes sobre ER aqui (apenas na próxima parte) mas, o circunflexo ^ significa “inicio”, o cifrão $ significa “fim” e a parte /? significa uma barra opcional, ou seja: A reescrita acontecerá para as URLs omeusite.pt/contato e omeusite.pt/contato/. Na parte laranja informamos para o servidor qual arquivo atenderá pela requisição. Tem atenção que é nessa parte que dizemos ao servidor qual o formato da nossa antiga URL. Na parte azul temos os códigos que são chamados de flags. Nesse caso usamos o NC de “no case” (ignora a diferença entre maiúsculas e minúsculas) e temos o L de “last” (faz com que, se essa regra for utilizada, nenhuma outra regra seja usada)… Se por acaso quiseres aprender mais sobre flags, recomendo a leitura da documentação do Apache. E pronto pessoal é isto :D Espero que tenham gostado e que vos seja util :P Se acharam este tutorial util, digam que trago um tutorial, aí já com um grau de complexidade um pouco mais elevado :P Exemplos : http://www.omeusite.pt/news.php?id=2 (A URL atual)http://www.omeusite.pt/news/tragedia/2/ (A nova URL) Ou http://www.omeusite.pt/motas.php?categoria=suzuki&pagina=3 (A URL atual)http://www.omeusite.pt/motas/suzuki/pagina-3/ (A nova URL) Fonte original : Blog do tiago belem Adaptação para vós, feita por mim :) Cumprimentos 6 KlepY, Kɛɛɗ, K3nkσz and 3 others reacted to this Share this post Link to post Share on other sites
AdeusParaSempre-@Zé 254 Posted December 4, 2014 Love you :like: Share this post Link to post Share on other sites
Kɛɛɗ 519 Posted December 4, 2014 Ótimo Tutorial... Obrigado por partilhar com a comunidade... Share this post Link to post Share on other sites
KlepY 1,995 Posted December 4, 2014 Obrigado porpartilhares! Tens o meu +1 Cumprimentos CroSSie 1 Hi-Roller reacted to this Share this post Link to post Share on other sites
☆♕ CabrinhaSexy ♕☆ 738 Posted December 6, 2014 De nada, sempre ás ordens :D Cumprimentos, BabyStar Share this post Link to post Share on other sites