Pergunta

No meu site, website.com/downloads realmente vai para website.com/index.php?page=downloads (com apache reescrever). Eu tenho um costume 404 não encontrado conjunto de páginas de erro. Se eu fizer website.com/dkfjf/fdf, ele vai para o erro 404, mas se eu fizer website.com/something, ele vai para index.php? Page = alguma coisa, então, em seguida, na minha index.php, como posso fazê-lo apenas navegar para 404 erro, depois de determinar que não há página something? Porque agora, eu só carregar a página de erro meu 404 para o div principal (como todas as outras páginas), mas é inconsistente (por exemplo, ele ainda exibe website.com/soemthing na barra de endereços, e há outros problemas), e eu só quero fazê-lo navegar para 404 erro. Como posso fazer isso?

EDIT: isso funcionou:

echo '<meta http-equiv="refresh" content="0; url = /error" />';

(regravações mywebsite.com/error para index.php? Page = erro, que é a minha página de erro 404). É que uma abordagem ruim?

Foi útil?

Solução

Use a header função para enviar o código de status correto:

header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);

Em seguida, você pode enviar o documento erro com readfile se é um arquivo estático ou com include se é um arquivo PHP.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top