Blod 0 Denunciar post Postado Setembro 15, 2012 Tenho a seguinte configuração no meu arquivo .htaccess RewriteRule ^noticias/([a-z0-9-]+)/([0-9]+)/?$ /noticias.php?id=$2&nome=$1 [NC] //Isso da www.meusite.com/produtos/camiseta-azul/2/ Porém, na página index o link para a noticia continua (www.meusite.com/noticias.php?id=2&nome=como fazer tal coisa) Gostaria de poder criar uma expressão que deixasse o nome da notícia no formato do link da URL amigável, mas não estou obtendo sucesso. Alguém sabe como ajudar ? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago Vianna /+/ 7 Denunciar post Postado Setembro 16, 2012 Ué, edita a parte em que o código é colocado na página... Procura aí essa parte, e se não conseguir resolver, posta aqui .. [to saindo agora, mas deixa aí que se até amanhã não conseguir resolver, eu devo dar uma olhada ;)] Compartilhar este post Link para o post Compartilhar em outros sites
Wanderson Valerio 102 Denunciar post Postado Setembro 16, 2012 http://forum.imasters.com.br/blog/252/entry-177-de-aprendendo-urls-amigaveis/ Compartilhar este post Link para o post Compartilhar em outros sites
Blod 0 Denunciar post Postado Setembro 16, 2012 Thiago e realmente essa parte do php que não estou conseguindo, a de formatar a url do link como a da URL Amigável. E wanderson, não estou com problema na URL Amigavem em si mais no php. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago Vianna /+/ 7 Denunciar post Postado Setembro 16, 2012 Olá, deve ter uma parte tipo: <a href="www.seusite.com.br/?id=<?php echo $noticia; ?>">clique aqui</a> aí é só apagar esse ?id= Mas cara, você tem que achar onde está o erro, senão é impossível tentarmos de ajudar da forma certa... Compartilhar este post Link para o post Compartilhar em outros sites
Wanderson Valerio 102 Denunciar post Postado Setembro 17, 2012 Posta como está o seu link cara, tipo: <a href="noticias.php?id=<?php echo $noticiaId;?>"></a> Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Setembro 17, 2012 no meu .htaccess esta assim RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?pg=$1 #e ja fiz assim tb, E NÃO DEU CERTO:s RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?pg=$1 e ja ativei o modo Rewrite no apache e la na index color um print_r($_GET['pg']); e ele não fica na mesma pagina, como se esse modulo de não acessar diretorio diretamente não estive-se funcionando Compartilhar este post Link para o post Compartilhar em outros sites
Thiago Vianna /+/ 7 Denunciar post Postado Setembro 17, 2012 Posta as páginas aqui para a gente ver. Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Setembro 17, 2012 Posta as páginas aqui para a gente ver. eu não criei nem pasta ainda, eu fiz o teste apenas na get para ver se ele retornava a varial. assim teste/index.php?pg=empresa #assim traz(logico) print_r($_GET['pg']); mas assim não traz nada teste/empresa/ print_r($_GET['pg']); eo .htaccess esta assim RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?pg=$1 #e ja fiz assim tb, E NÃO DEU CERTO:s RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?pg=$1 eo modulo rewrite no apache esta habilitado :s Compartilhar este post Link para o post Compartilhar em outros sites
Thiago Vianna /+/ 7 Denunciar post Postado Setembro 17, 2012 @erison, é incorreto usar print_r() para essa situação, pois ele serve pra exibir arrays. Print_r() exibe informação sobre uma variável em uma maneira que é legível para humanos. Você deve fazer do seguinte jeito no seu .htaccess: <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^([a-z0-9-]+)/?$ /index.php?secao=$1 [NC] </IfModule> E na index.php: <?php echo $secao; ?> Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Setembro 18, 2012 deu certo não. ele tinha que retorna $_GET['sessao'] e não $sessao.(como ele vai exibir algo que não foi definido.) eu sei que o print_r() e para exibir um array se no caso tiver varios get, ele vai me retorna uma array. mas o problema e que quando digito se eu colocar teste/?pg=empresa echo $_GET['pg'](ele vai retorna empresa) se eu colocar assim teste/empresa ele nem fica na mesma pagina ele sai como se ele estivese procurando a pasta empresa. Compartilhar este post Link para o post Compartilhar em outros sites
vonzuben 12 Denunciar post Postado Setembro 18, 2012 você tem que gigitar no lin assim agora, pois não pensa ue vai mudar sozinho www.meusite.com/produtos/camiseta-azul/2/ Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Setembro 18, 2012 eu to fazendo o teste local e eu ja digetei asism http://localhost/paginas/emrpesa mas ele não retorna o get ele mostra na pagina Not Found The requested URL /paginas/empresa was not found on this server. e como se ele estive-se procurando a index da pasta empresa Compartilhar este post Link para o post Compartilhar em outros sites
vonzuben 12 Denunciar post Postado Setembro 18, 2012 cria a index.php. empresa.php e home.php RewriteEngine On RewriteRule ^([a-z0-9-]+)/?$ /index.php?page=$1 [NC] <?php switch ($_GET['page']) { case "empresa": include("empresa.php"); break; default: include("home.php"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Setembro 18, 2012 cara mas ele não fica na mesma pagina. ele procura o diretorio dentro da pasta empresa como se ele não tive-se reconhecendo as condições do htaccess Compartilhar este post Link para o post Compartilhar em outros sites
vonzuben 12 Denunciar post Postado Setembro 18, 2012 mas aonde tem pasta empresa? coloca todo seu codigo aqui Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Setembro 18, 2012 cara eu to falando você não itende, deixa pra lá Compartilhar este post Link para o post Compartilhar em outros sites
vonzuben 12 Denunciar post Postado Setembro 18, 2012 para que colocar a spaginas dentro da pasta <?php switch ($_GET['page']) { case "empresa": include("../paginas/empresa.php"); break; default: include("../paginas/home.php"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Setembro 18, 2012 cara não tem como eu trabalhar em cima do $_GET['page'], se ele não retorna nada. ele mostra not fould, ou seja se eu digitar http://localhost/paginas/index.php?page=empresa o $_GET['page'] vai mostra empresa mas se eu colocar http://localhost/paginas/empresa ele mostra not fould, como se não tive-se reconhecendo o htacces. Compartilhar este post Link para o post Compartilhar em outros sites
vonzuben 12 Denunciar post Postado Setembro 18, 2012 RewriteRule ^([a-z0-9-]+)/?$ index.php?page=$1&page=$2 [NC] testa ai e tb tenta colocar depois o htaccess dentro da pasta painas Compartilhar este post Link para o post Compartilhar em outros sites