PHP nasıl bir hata 404 oluşturabilirim?

4 Cevap php

Benim. Htaccess /word_here için /page.php?name=word_here için tüm istekleri yönlendirir. İstenen sayfa, sayfalar onun dizi ise PHP komut dosyası daha sonra kontrol eder.

If not, how can I simulate an error 404? I tried this, but it didn't work:

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");

Birazdan benim hata 404 sayfasına yönlendirmek için yanlış olduğunu düşünerek mıyım?

4 Cevap

Ne yapıyoruz çalışacak ve tarayıcı bir 404 kodu alacaksınız. O won't yapmak bekliyor olabilir "bulunamadı" sayfasını, örneğin görüntülemek nedir:

Not Found

İstenen URL / test.php bu sunucuda bulunamadı.

PHP kodu 404 (en azından Apache değil) döndüğünde web sunucusu bu sayfayı göndermek değil çünkü bu. PHP tüm kendi çıkışını göndermekten sorumludur. Eğer benzer bir sayfa istiyorsanız Yani, HTML kendiniz, örneğin göndermek gerekir:

<?php
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
include("notFound.php");
?>

Siz httpd.conf bu koyarak, kendi 404 mesajlar için aynı sayfayı kullanmak için Apache yapılandırabilirsiniz:

ErrorDocument 404 /notFound.php

Bu deneyin:

<?php
header("HTTP/1.0 404 Not Found");
?>

Eğer başlık gönderdikten sonra () ölmek hatırladın mı? 404 başlık otomatik olarak işlenmesini bitmiyor, bu yüzden oluyor daha fazla işlem varsa bir şey yapmış değil görünebilir.

Bu 404 sayfasına yönlendirmek için iyi değil, ama hiçbir sorun ile ondan içerik içerebilir. Bu şekilde, düzgün, doğru bir URL'den 404 durumunu gönderir bir sayfa var, ama aynı zamanda sahip "ne arıyorsun?" insan okuyucu için sayfa.

Ne bu böyle bir şey?

header ("HTTP/1.1 404 Not Found");
echo file_get_contents('../path_to_your_error_page');

Burada ne olur sen doğru başlık göndermek ve daha sonra özel bir 404 sayfası echo olduğunu.