Thiago H 1 Denunciar post Postado Dezembro 11, 2008 Olá galera, estou estudando sobre url amigaveis e estou enfrentando um problema segue o .htaccess <IfModule mod_rewrite.c> #habilita o modulo Rewrite RewriteEngine On #RewriteBase / #Se a URL apontar para um arquivo, vai diretamente para ele RewriteCond %{REQUEST_FILENAME} !-f #Se a URL apontar para uma pasta, vai diretamente para ela RewriteCond %{REQUEST_FILENAME} !-d #Mostra o caminho completo do meu arquivo index.php - tratamento dos dados RewriteRule !\.(gif|jpg|png|css|js|swf)$ index.php ################################################################# ##MODULOS ################################################################# RewriteRule ^(.+)\/([0-9]*)\/?$ index.php?pag=$2 RewriteRule ^(.+)\/(.+)\/([0-9]*)\/?$ index.php?cod=$3 RewriteRule ^(.+)\/(.+)\/([0-9]*)\/(.+)\/?$ index.php?cod=$3 </IfModule> se colocar http://localhost/novidades/1 ele vai na primeira regra e define a pag=1 se colocar http://localhost/novidades/ver/1 ele vai na segunda regra e define o cod=1 porem essas regras vao funcionar para todas as paginas do site, gostaria de saber se ha possibilidade de definir somente no modulo de novidades por exemplo. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Dezembro 11, 2008 Tem sim,procura dar uma lida sobre expressões regulares que sua dúvida será resolvida. No caso,você trocaria: RewriteRule ^(.+)\/([0-9]*)\/?$ index.php?pag=$2 RewriteRule ^(.+)\/(.+)\/([0-9]*)\/?$ index.php?cod=$3 RewriteRule ^(.+)\/(.+)\/([0-9]*)\/(.+)\/?$ index.php?cod=$3 Por: RewriteRule ^novidades\/([0-9]*)\/?$ index.php?pag=$1 RewriteRule ^novidades\/(.+)\/([0-9]*)\/?$ index.php?cod=$2 RewriteRule ^novidades\/(.+)\/([0-9]*)\/(.+)\/?$ index.php?cod=$2 Dá uma lida sobre ER's...=] Abraço! Ps:essas ER's tão certas? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago H 1 Denunciar post Postado Dezembro 11, 2008 eu ja tinha tentando fazer isso...substitui aqui por essa modificada e não funcionou carrega a pagina devido as verificações no php mais nao pega as variaveis Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Dezembro 11, 2008 O que você mandou para a url? E o que deseja pegar? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago H 1 Denunciar post Postado Dezembro 11, 2008 estou mandando http://localhost/novidades/1 quero que va para index.php?pag=1 se utilizar RewriteRule ^(.+)\/([0-9]*)\/?$ index.php?pag=$2 funciona corretamente porem a regra é incluida em outras paginas por exemplo se quiser abrir http://localhost/galeria/1 ja não seria pag seria cod por exemplo entao queria fazer as regras de acordo com as paginas ja tentei fazer assim RewriteRule ^novidades\/(.+)\/([0-9]*)\/?$ index.php?pag=$2 mais não pega o valor na pag Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Dezembro 11, 2008 Mas ai sua ER ta errada então. Seria: RewriteRule ^novidades\/([0-9]+)\/?$ index.php?pag=$1 Testai http://localhost/novidades/1/ http://localhost/novidades/1 Compartilhar este post Link para o post Compartilhar em outros sites
Thiago H 1 Denunciar post Postado Dezembro 11, 2008 continua não dando certo, sera que pode ser alguma configuração no .htaccess que ta faltando, do outro jeito funciona legal mais quando coloca parte da url no caso novidades não funciona Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Dezembro 11, 2008 O engraçado é que aqui funcionou perfeitamente... htaccess: Order allow,deny Allow from all RewriteEngine On RewriteRule ^novidades\/([0-9]+)\/$ index.php?n=$1 index.php: <?php echo $_GET['n']; ?> url: http://localhost/novidades/12/ Imprimiu 12 legalzinho... Reveja o que você está fazendo...e de uma estudada em expressões regulares... Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago H 1 Denunciar post Postado Dezembro 12, 2008 achei o problema esta na regra abaixo RewriteRule !\.(gif|jpg|png|css|js|swf)$ index.php se colocar ela nao funciona Compartilhar este post Link para o post Compartilhar em outros sites