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:
Agora, vamos pegar o nome do arquivo requerido e, claro, nos protegermos um pouco do XSS.
Vamos dividir o endereço requerido em um Array, sendo definido os limites pelas barras em meio ao endereço ("/").
E criamos também um novo Array com os ítens que nós queremos tirar: o primeiro e o segundo.
Vamos fazer com que o primeiro ítem do Array (o protocolo) e o segundo (o domínio) sejam retirados da URL original.
Agora, vamos procurar por uma extensão no arquivo e, se houver, retirá-la.
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.
Será que existe? Se existir, vamos redirecionar o usuário.
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.
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!
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
Código PHP:
$request = stripslashes(htmlspecialchars($_SERVER['REDIRECT_URL']));
Código PHP:
$separa = explode("/", $request);
Código PHP:
$retire = Array($separa[0], $separa[1]);
Código PHP:
$request = str_replace($retire, "", $request);
Código PHP:
$verifica = strpos($request, ".");
if(!$verifica==false) {
$request = explode(".", $request);
$request = $request[0];
}
Vamos imaginar um nome para o arquivo.
Código PHP:
$file = "postagens/".$request.".htm";
Código PHP:
if(file_exists($file)) {
header("Location: {$file}");
Código PHP:
} else { // senão
header("Location: busca.php?q={$request}");
}
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!
Comment