Jefrey 0 Denunciar post Postado Janeiro 10, 2011 Imaginemos que tenho um site com um sistema de busca. O usuário entra e digita http://www.site.com.br/pagina-que-nao-existe.php E, ao invés de mostrar "Erro 404" ou "Página não existe", eu faço uma busca automática tendo como palavras-chave o nome do arquivo que a pessoa procurou. Neste caso, pagina-que-nao-existe. É fácil converter os hífens em espaços e retirar a extensão do arquivo. Por isso, não se preocupem com isso. Não quero a página de erro 404 com um formulário de busca. Quero que ela mostre automaticamente os resultados da busca pelo arquivo que a pessoa chamou. Se está dificil entender, veja: Fulano entrou http://www.site.com.br/pagina-que-nao-existe.php e o site mostrou uma lista de páginas que se parecem com pagina-que-nao-existe. Por exemplo: pagina-que-existe.php, nao-existe.php e outras páginas que realmente existam. Fácil entender? Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Janeiro 10, 2011 Imaginemos que tenho um site com um sistema de busca. O usuário entra e digita http://www.site.com.br/pagina-que-nao-existe.php E, ao invés de mostrar "Erro 404" ou "Página não existe", eu faço uma busca automática tendo como palavras-chave o nome do arquivo que a pessoa procurou. Neste caso, pagina-que-nao-existe. É fácil converter os hífens em espaços e retirar a extensão do arquivo. Por isso, não se preocupem com isso. Não quero a página de erro 404 com um formulário de busca. Quero que ela mostre automaticamente os resultados da busca pelo arquivo que a pessoa chamou. Se está dificil entender, veja: Fulano entrou http://www.site.com.br/pagina-que-nao-existe.php e o site mostrou uma lista de páginas que se parecem com pagina-que-nao-existe. Por exemplo: pagina-que-existe.php, nao-existe.php e outras páginas que realmente existam. Fácil entender? Como fazer isso? Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 10, 2011 facil pega o que ele digitou e poe na query pra fazer a busca com o %LIKE% Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 10, 2011 isto deve ajudar: http://imasters.com.br/artigo/11191/php/caching_em_php_com_uma_tecnica_obscura_mas_muito_eficiente/ Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Janeiro 11, 2011 Obrigado, CrY. Este é o ponto onde eu gostaria de chegar. Como eu pegaria o que o cara digitou? Não sei porque, mas este tópico está repetido, mas eu o fiz apenas uma vez. http://forum.imasters.com.br/index.php?/topic/420008-como-fazer-busca-ao-inves-de-pagina-de-erro-404/page__p__1654758__fromsearch__1entry1654758 Obrigado, Beraldo. Ajudou mesmo. Não sei porque, mas este tópico está repetido, mas eu o fiz apenas uma vez. http://forum.imasters.com.br/index.php?/topic/420010-como-fazer-busca-ao-inves-de-pagina-de-erro-404/page__gopid__1655605entry1655605 Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Janeiro 19, 2011 Bom, problema resolvido! <?php $request = stripslashes(htmlspecialchars($_SERVER['REDIRECT_URL'])); // pego o endereço da página inexistente $request = explode("/", $request); // separo em arrays pelas barras $request = $request[1]; // pego somente o que está após o domínio do site $verifica = strpos($request, "."); // vejo se há pontos, para retirar a extensão if(!$verifica==false) { // se houver pontos no nome do arquivo $request = explode(".", $request); // separo em arrays pelos pontos $request = $request[0]; // pego somente o anterior ao primeiro ponto } $file = "artigos/".$request.".php"; // vejo como ficaria o nome do arquivo if(file_exists($file)) { // se o arquivo existir header("Location: {$file}"); // redireciona para o arquivo } else { // senão header("Location: busca.php?q={$request}") // faço a busca } ?> Isto é derivado do que o Beraldo disse, mas o script da página que ele mandou cria o arquivo, se o mesmo não existir. Então, obrigado a todos. Compartilhar este post Link para o post Compartilhar em outros sites