Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
.htaccess
Options +FollowSymLinks
RewriteEngine On
Options -indexes
#index
RewriteRule ^paginas/sobre$ index.php?gf=sobre
RewriteRule ^paginas/termos$ index.php?gf=termos
RewriteRule ^(.*)?$ index.php?gf=filme&filme=$1
Como definir prioridade nas urls, queria que
RewriteRule ^(.*)?$ index.php?gf=filme&filme=$1
So funcionasse quando o filme existir na db, Alguem Me ajuda ae kk, To a tempos tentando :D Tank's
Sim, mas quero dar tipo prioridades, entende ?
Não, não entendo...
RewriteRule ^paginas/sobre$ index.php?gf=sobre < Colocar esse
RewriteRule ^paginas/termos$ index.php?gf=termos < e esse em primeiro lugar
RewriteRule ^(.*)?$ index.php?gf=filme&filme=$1 < e esse depois, pk esse ta pegando as page tudo
Ué, a "prioridade" neste caso é definida exatamente pela ordem em que você escreve a expressão regular no htaccess, se estiver nesta ordem e estiver caindo na última é porque as 2 primeiras não estão "casando" com nada, ai cai na última que é literalmente "qualquer coisa".
RewriteRule ^(.*)?$ index.php?gf=post&filme=$1
Mas tipo, isso esta substituindo todas as paginas, ate a que e arquivo
Se quiser permitir acesso direto a arquivos e diretórios, precisa colcoar isto:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule sua_regra_aqui
Veja mais neste tutorial: http://forum.imasters.com.br/topic/203965-urls-amigaveis/
Porém, recomendo não manter as regras de URL dentro do .htaccess. Prefira usar um sistema de rotas, onde todas elas ficam bem especificadas no PHP.
Veja: http://rberaldo.com.br/urls-amigaveis-sem-htaccess-usando-slim/
Controle isto a nível de script, o htaccess não sabe o que existe no BD, ele apenas "redireciona" a requisição para a página.