Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Que tal fazer uma busca ao invés de erro 404?

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Que tal fazer uma busca ao invés de erro 404?

    Com certeza todos já viram uma página de erro 404.
    Geralmente, essas páginas dizem que o arquivo requerido inexiste. Algumas dizem apenas com textos e links, outras mostram formulários de busca e outros, como a Desciclopedia, ainda te chamam de mula.
    Mas, como estamos na Web 2.0, e um de seus requisitos básicos é a automação e conforto ao cliente, que tal fazer uma busca já pronta contendo a página procurada?
    Vamos ver como fazemos isso no servidor Apache, com PHP.
    Primeiramente, adicione no arquivo .htaccess a seguinte linha:
    Código:
    ErrorDocument 404 /404.php
    Agora, vamos pegar o nome do arquivo requerido e, claro, nos protegermos um pouco do XSS.
    Código PHP:
    $request stripslashes(htmlspecialchars($_SERVER['REDIRECT_URL'])); 
    Vamos dividir o endereço requerido em um Array, sendo definido os limites pelas barras em meio ao endereço ("/").
    Código PHP:
    $separa explode("/"$request); 
    E criamos também um novo Array com os ítens que nós queremos tirar: o primeiro e o segundo.
    Código PHP:
    $retire = Array($separa[0], $separa[1]); 
    Vamos fazer com que o primeiro ítem do Array (o protocolo) e o segundo (o domínio) sejam retirados da URL original.
    Código PHP:
    $request str_replace($retire""$request); 
    Agora, vamos procurar por uma extensão no arquivo e, se houver, retirá-la.
    Código PHP:
    $verifica strpos($request".");
    if(!
    $verifica==false) {
     
    $request explode("."$request); 
     
    $request $request[0];

    Agora, vejamos uma coisa interessante: antes de fazer a busca, podemos verificar a existência de uma página similar e, em caso positivo, redirecionar o usuário! Faríamos assim:
    Vamos imaginar um nome para o arquivo.
    Código PHP:
    $file "postagens/".$request.".htm"
    Será que existe? Se existir, vamos redirecionar o usuário.
    Código PHP:
    if(file_exists($file)) {
     
    header("Location: {$file}"); 
    Mas, e se não existir? Vamos fazer uma busca. Lembrando que eu não incluí o script de busca, e o usuário deve alterar o script de acordo com a configuração do script de busca em seu sistema.
    Código PHP:
    } else { // senão
     
    header("Location: busca.php?q={$request}");

    Bem melhor do que chamar o cliente de mula, não acha?
    Só lembrando que servidores gratuitos não lhe permitem personalizar a página de erro 404, pois eles já possuem uma própria onde colocam os anúncios que os mantém no ar.
    Até a próxima!
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)
    Similar Threads

  • Font Size
    #2
    Interessante, Obrigado pelo POST.


    WCG 147
    sigpic

    Comment


    • Font Size
      #3
      Olá!

      Como falei em meu post anterior, sobre uma rede social, estarei usando isso também nela.
      Obrigado.

      Até mais,
      Script.
      "Compartilhe, agradeça, motive, engrandeça!"
      "Faça o bem, sem ver a quem!"
      "Conhecimento não é crime. Crime é o que vem depois dele, seus atos!"
      "Não deixe mais que seu opressor o domine!"

      Comment

      X
      Working...
      X