Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera,
nossa.. faz tempo que não posto por aqui .. rsrs
Vamos lá, estou trabalhando com "URL Amigáveis" em um novo projeto e quando fui definir as regras do .htaccess surgiu um erro inesperado.
Basicamente a estrutura de Urls do site será a seguinte:
www.site.com.br/pagina -> aponta para: index.php?pg=pagina
Esta regra no arquivo .htaccess
Rewriterule ^([^/]+)\/?$ index.php?pg=$1
Acontece que ela já não funciona, quando testo na "index.php" imprimindo o que o $_GET me retorna ele exibe que o parâmetro "pg" retorna: index.php, veja:
Retorno GET: Array( [pg] => index.php )
Quando na verdade o que deveria retornar na variável PHP seria o "pagina" que vem logo depois da barra. /pagina
Se eu modificar esta regra para a seguinte:
Rewriterule ^([^/]+)\.html$ index.php?pg=$1
Então passa a funcionar, o $_GET me traz o "pagina" como valor do parâmetro "pg".
Outra situação:
RewriteRule ^([^/]+)\/([^/]+)\/?$ index.php?pg=$1&valor=$2
Essa regra funciona perfeitamente.
Basicamente o que eu preciso é que, ao acessar: www.site.com.br/pagina ele aponte para: index.php?pg=pagina e que ao acessar www.site.com.br/pagina/valor ele aponte para: index.php?pg=pagina&valor=valor
Qual o problema em minhas regras?
Abraços.
Carregando comentários...