DannyND 1 Denunciar post Postado Março 26, 2015 Olá, estou com um problema. Caso o usuário digite http://www.site.com.br/pagina.php funciona certinho o direcionamento para a página de erro, mas como utilizamos URL amigável, quando digita http://www.site.com.br/pagina não direciona para lugar nenhum. Como devo proceder nesse caso? Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Março 26, 2015 Você já configurou seu site para receber URL's amigáveis? Se está digitando pagina.php, e funciona, já tem algo errado aí. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 26, 2015 Já sim, o caso de digitar o .php é para testar o erro 404 rsMeu .htacces está assim: <IfModule mod_rewrite.c> RewriteEngine On #RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$ #RewriteRule %{REQUEST_FILENAME} !-f #RewriteRule %{REQUEST_FILENAME} !-d #RewriteRule ^(.*)$ index.php?pag=$1 ErrorDocument 404 http://www.meusite.com.br/meus_erros/erro_404.html RewriteRule ^a-empresa/? empresa.php?type=0 (...) #RewriteRule ^a-empresa/? empresa.php [NC, L] #order allow,deny #deny from all </IfModule> Compartilhar este post Link para o post Compartilhar em outros sites
Wanderson Valerio 102 Denunciar post Postado Março 26, 2015 Já tentou assim, Danny? <IfModule mod_rewrite.c> RewriteEngine On RewriteRule %{REQUEST_FILENAME} !-f RewriteRule %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?pag=$1 RewriteRule ^a-empresa/? empresa.php?type=0 RewriteRule ^a-empresa/? empresa.php [NC, L] ErrorDocument 404 http://www.meusite.com.br/meus_erros/erro_404.html </IfModule> Só pra ressaltar: Quando você for comentar algo no seu arquivo .htaccess, use o "#" no início e no fim do comentário, pois ele não faz efeito só no início, gerando assim um erro. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 26, 2015 O problema é que quando a minha query não tem resultados, deveria ir para a página 404 personaliza, então criei uma função e joguei no mysql_error(). Quando tiver erro na query: $chamada = mysql_query($query) or die (mysql_error(redirect())); Quando não retornar resultados: $resultados = mysql_num_rows($chamada); if($resultados == 0): redirect($resultados); endif; Função: #se não tiver registros, direciona para página de erro personalizada function redirect(){ exit("<script>location='http://www.meusite.com.br/meus_erros/erro_404.html'</script>"); } Compartilhar este post Link para o post Compartilhar em outros sites