Pessoal,
Boa noite.
Hoje vou mostrar a vocĂªs, como redirecionar suas aplicações em caso de erro de digitaĂ§Ă£o de URL, por exemplo, onde normalmente o servidor Web Apache exibe uma mensagem de erro e o visitante pode ter dificuldades para voltar ao seu site. Caso ele tenha encontrado o seu site atravĂ©s de um site de busca (vulgo, Google), ele provavelmente irĂ¡ sair do seu site e voltar para o Google. NĂ£o podemos deixar isso acontecer, correto ?
Mais uma vez, vou recorrer ao nosso grande aliado, o arquivo de configurações do Apache HTTP Server, .htaccess para nos ajudar.
Para criar o redirecionamento, vamos utilizar a diretiva ErrorDocument, como podemos observar no exemplo abaixo:
1 2 3 4 5 6 7 8 9 10 |
## Redirecionar em caso de erros ## ErrorDocument 400 /apache.php?erro=400 ErrorDocument 403 /apache.php?erro=403 ErrorDocument 404 /apache.php?erro=404 ErrorDocument 500 /apache.php?erro=500 ErrorDocument 501 /apache.php?erro=501 ErrorDocument 502 /apache.php?erro=502 ErrorDocument 503 /apache.php?erro=503 ErrorDocument 504 /apache.php?erro=504 ErrorDocument 505 /apache.php?erro=505 |
Isso irĂ¡ fazer com que para cada cĂ³digo de erro HTTP, vocĂª tenha controle de como quer tratar. Quando o usuĂ¡rio digitar uma URL invĂ¡lida ou que nĂ£o existe (Erro 404 – Not Found), estou redirecionando para o URL /apache.php?erro=404. Dentro do arquivo apache.php eu faço os tratamentos necessĂ¡rios, a personalizaĂ§Ă£o e arte visual para que o visitante leia uma mensagem amigĂ¡vel informando que a pĂ¡gina nĂ£o existe e sugerindo outras URL’s, usando jĂ¡ o layout do meu site e vĂ¡rios links disponĂveis para ele navegar normalmente.
Assim, conquistamos atĂ© os visitantes vindos de links quebrados ou enganos! Ah, precisa de ajuda para identificar os cĂ³digos de erro HTTP? Saiba mais clicando aqui.
AtĂ© a prĂ³xima.
Como posso direcionar uma pĂ¡gina com erro para a pĂ¡gina principal do site, por exemplo, para o link http://www.meusite.com.br?
SĂ³ pra reforçar …
Uso WordPress e minhas pĂ¡ginas nĂ£o possuem extenĂ§Ă£o, por exemplo, “minhapagina.php” ou “index.php” ou “index.html” … o link Ă© direto, assim … http://www.meusite.com.br/blog/sobre
Wagner,
Boa tarde.
Uma vez que o htaccess do WordPress jĂ¡ vem com as alterações necessĂ¡rias para o direcionamento de erros 404, vocĂª pode editar o arquivo 404.php, que estĂ¡ na pasta do tema que estĂ¡ utilizando (se nĂ£o existir esse arquivo, pode criar um novo) e substituir o conteĂºdo por esse cĂ³digo:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . get_bloginfo('url'));
exit();
Outra alternativa, Ă© utilizar um plugin para isso, como o Redirection (https://wordpress.org/plugins/redirection/), que permite fazer esse redirecionamento sem precisar de qualquer conhecimento de htaccess.
OlĂ¡,como faço para redirecionar todas as paginas com erro 404 para uma minha pagina inicial?
Pedro,
Basta utilizar esse cĂ³digo no seu arquivo .htaccess:
ErrorDocument 404 /suapagina.php
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?
Daniele,
Criei um post que deve te ajudar.. Veja o link http://www.dirceuresende.com/blog/implementando-url-amigavel-no-apache-com-htaccess-e-php/
Caso ainda tenha dĂºvidas, me informe que irei te ajudar.