Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve, galera!
Estou com uma dúvida em URL Amigável.
No meu caso além da INDEX.PHP tenho mais dois arquivos que recebem os seguintes parâmetros via GET:
BUSCA.PHP
?pg=busca&fin=X
?pg=busca&imo=X
?pg=busca&tip=X
?pg=busca&fin=X&imo=X&tip=X
DETALHES.PHP
?pg=detalhes&id=X
Tenho este .htaccess
Para adaptar para essas duas novas página basta adicionar
RewriteRule ^([^-]+)/$ /busca.php?fin=$1
RewriteRule ^([^-]+)/$ /busca.php?imo=$1
RewriteRule ^([^-]+)/$ /busca.php?tip=$1
RewriteRule ^([^-]+)/$ /busca.php?fin=$1&imo=$2&tip=$3
RewriteRule ^([^-]+)/$ /detalhes.php?id=$1
Ou teria alguma outra forma???
Eserra,
Teria como fazer alguma coisa mais ou menos assim, a bem grosso modo:
RewriteRule ^([^-]+)/$ /$x?fin=$1&imo=$2&tip=$3
$x = busca, detalhes, index etc
Ai no final dica assim www.seusite.com.br/busca/1/2/13
Vai dar na mesma, pois a questão que tem que ser alterada é a regra:
^([^-]+)/$
Você tem que alterar ela para algo do tipo
^pagina1\/([^-]+)/$ paginax.php
^pagina2\/([^-]+)/$ paginay.php
Ou modificar o seu sistema para tara trabalhar de outra forma, assim a regra seria igual para todos e você passaria um paramtro que diria que página pegar
^([a-z]+)\/([^-]+)/$ $1.php?x=$2
Neste caso você usaria:
site.com.br/pagina1/alguma_coisa
site.com.br/pagina2/alguma_coisa
E no $1 retornaria pagina1, pagina2...
Ok, ESerra!
Entendi aonde estava errando e funcionou legal, mas ainda não consegui resolver um dos problemas da forma que você passou...
^([a-z]+)\/([^-]+)/$ $1.php?x=$2
Pois na página de busca passo ?fin=$2&imo=$3&tip=$4 e nas outras ?id=$2, por exemplo
Com essa ER só haverá
$0, $1 e $2
Caso você tenha a necessidade de passar:
fin=$2&imo=$3&tip=$4
Terá que montar outra ER para esta situação.
Salve galera!
Quando pensei que estava dando tudo certo aparece mais um problema, vida de programador é dura kkkk
RewriteRule ^contato$ ?pg=contato
RewriteRule ^detalhes/([0-9]+)$ ?pg=detalhes&ref=$1
RewriteRule ^busca/([a-z])/([0-9]+)$ ?pg=busca&$1=$2 <- AQUI ESTA O PROBLEMA
Busca pode ser por IMO, FIN ou TIP a ideia é fazer assim: .../busca/imo/1, .../busca/fin/2 e .../busca/tip/4
Alguém me ajude, por favor...
Não seria mais simples:
RewriteRule ^busca/([a-z])/([0-9]+)$ ?pg=busca&tipo=$1&valor=$2
Ai você resgata o tipo e trabalha ele na aplicação?
Valew ESerra!
Acredito que agora podemos fechar este tópico kkkk
Essa sua expressão regular não vai funcionar, veja:
RewriteRule ^([^-]+)/$ /busca.php?fin=$1&imo=$2&tip=$3
RewriteRule ^([^-]+)/$ /detalhes.php?id=$1
Ambas as regras são iguais, como o servidor vai identificar qual arquivo chamar se a regra é a mesma para ambos?