Ben php ile bir 404 başlık göndermek varken neden 404 hata gösterecektir apache değil mi?

2 Cevap php

Ben bir header('HTTP/1.0 404 Not Found'); yere kod boyunca var ama nedense Apache'nin varsayılan 404 sayfasına yönlendirme değildir.

Ben index.php her isteği yönlendirir. Htaccess dosyası üzerinde Rewrite Kural var. Bu sorun olabilir?

2 Cevap

Başlığı bu 404 sayfası görüntülemek için Apache söylediklerini değil. Aksine, when Apache onunla birlikte 404 başlık gönderir, onun 404 sayfasını görüntüler. Başlığı browser, değil sunucuya anlam içindir. O göstermek için uygun dosyayı bulamadığında Apache 404 görüntüler. Eğer bir PHP komut dosyası konum bu yana, Apache zaten görüntüleyebilir ve böylece kendi 404 sayfayı göstermek olmayacak bir dosya buldu.

Bu durumda tarayıcı sadece madde gerçekten PHP ile gönderilen başlıklar. Apache zaten sayfayı işlemeyi çünkü kendi sayfası yapmak için gitmiyor, ve bir şey gönderirse, iki çakışıyor.

Bunu göstermek için bir sayfa buldu çünkü kurallar, Apache artık bir 404 hatası var düşündürüyor Evet, çünkü .htaccess dosya bir hata sayfası göstermesini Apache durdurmak için gidiyor.

Bir başlık gönderme gerçekten sadece bir 'durum mesajı' olduğu, ve tarayıcı veya sunucu gösterisini belirli bir sayfa yapmaz. (Çoğu tarayıcı olacak olsa da).

Dav açıklamalarda belirttiği gibi, onların kendi özel hata sayfası 404 hataları göndermek isteyecektir.