DavidsonP 0 Denunciar post Postado Janeiro 28, 2017 Boa tarde, Para pegar os dados do banco de dados do meu site, eu faço a verificação através de um id que eu coloco na url, exemplo: www.meusite.com/noticia/65/titulo-da-noticia Através do "65" eu comparo no banco e puxo os dados. No caso "noticia" é a página que faz a verificação. O que eu gostaria de fazer é: www.meusite.com/titulo-da-noticia Só que eu não faço a mínima idéia de como fazer isso. Eu preciso apenas da lógica para entender como isso funciona. Desde já agradeço! Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Janeiro 28, 2017 Simples, salve titulo-da-noticia em alguma coluna do BD, recupere ela e use como informação para fazer a query. Compartilhar este post Link para o post Compartilhar em outros sites
DavidsonP 0 Denunciar post Postado Janeiro 28, 2017 Muito obrigado! Só mais um dúvida: Como faço para o sistema identificar a página que a url pertence? No caso "/noticia/" leva para noticia.php, mas sem ela, como seria? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Janeiro 28, 2017 Isso você irá definir no seu htaccess... tem que ver o que tem lá hoje para adaptar a nova realidade. Compartilhar este post Link para o post Compartilhar em outros sites
DavidsonP 0 Denunciar post Postado Janeiro 28, 2017 Tá bem básico RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} (.*)/([^/]+)(\?.*)?$ RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] Para chamar as páginas eu utilizo um switch $url = explode("/",str_replace(strrchr($_SERVER["REQUEST_URI"], "?"); switch($url[1]){ case "noticia": $url = "noticia.php"; break; default: $url = "home.php"; break; } include($url); Eu consegui criar as slugs e compará-las no banco. Só queria deixar a url o mais limpo possível, porém essa parte está me pegando. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Janeiro 29, 2017 Ok e como você vai definir quando é uma notícia se não tem "noticia" na URL? Compartilhar este post Link para o post Compartilhar em outros sites
DavidsonP 0 Denunciar post Postado Janeiro 29, 2017 Aí que tá, não faço idéia Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Janeiro 29, 2017 Isso é um problema, pois quem determina o funcionamento do seu sistema é você... Por exemplo, se você usa páginas do tipo:site.com.br/contatosite.com.br/fale-conoscoVocê terá que definir vários case para elas e deixar o default exatamente para a noticia... switch($url[1]){ case "contato": $url = "contato.php"; break; default: $url = "noticia.php"; break; } Dentro do notícia você terá que usar o $url[1] para fazer a query. Ou você pode montar um array com todas as URLs estáticas (contato, fale-conosco) e etc e usar isso para testar, para não precisar de vários cases. Compartilhar este post Link para o post Compartilhar em outros sites
DavidsonP 0 Denunciar post Postado Janeiro 29, 2017 Vou seguir essa linha de raciocínio, muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites