Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: header 404 i rezultat w przeglądarce
Forum PHP.pl > Forum > PHP
zimi
chce zgłosić błąd 404, wpisuję zatem kod:
  1. <?php
  2. header("HTTP/1.0 404 Not Found");
  3. ?>

tylko że w operze i ff dostaje pustą stronę zamiast stronę z komunikatem przeglądarki o błędzie
z tego co zrozumiałem jest to po to (musiałem coś "przeczytać" po niemiecku... a nie jestem w tym najlepszy) aby móc wypluć swoją stronę błędu... zgadza się?
ogólnie chciałem zapytać jak zrobić tak żeby przeglądarka zachowywała się tak jakby pliku nie było czyli wyświetlała swój własny komunikat a nie pustą stronę i komunikat ze skryptu
generalnie raczej w sumie chodzi mi aby Google stwierdziło że pliku nie ma..., ale podejrzewam że do tego ten nagłówek wystarczy, jednak chciałbym uzyskać zachowanie w przeglądarkach o którym wspomniałem, aby mi było łatwiej sprawdzać czy skrypt zachowuje się rzeczywiście jak chce...
czym można podglądać nagłówki jakie są przesyłane do przeglądarki? jakaś wtyczka do Opery? FF?
TomASS
Cytat
aby móc wypluć swoją stronę błędu... zgadza się?

Nie tongue.gif

Możesz to zrobić plikiem .htaccess:
Cytat
Składnia polecenia:
ErrorDoc <kod_błędu> <reakcja>

czyli np:
Kod
ErrorDoc 404 "Na serwerze nie ma takiego dokumentu"
ErrorDoc 403 http://www.prezydent.pl
zimi
wiem że mogę to zrobić .htaccess, ale jest mi to nie na rękę... chce to zrobić przez PHP... a więc?
TomASS
A czy czytałeś php.net::header?
Dokładnie to to:
Cytat
jeśli skonfigurowałeś serwer Apache aby używał skryptu PHP do wyświetlania komunikatów o brakujących plikach (za pomocą dyrektywy ErrorDocument), możesz chcieć wypróbować, czy skrypt generuje właściwy kod statusu.

czyli musisz ustawić odpowiednią opcję w Apache, możesz także spróbować:
  1. <?php
  2. function sendStatusCode($statusCode)
  3. {
  4. header(' ', true, $statusCode);
  5. }
  6.  
  7. sendStatusCode(404);
  8.  
  9. //This will only work if you're using PHP 4.3.0 or higher. Otherwise you rely on one of the following methods
    :
  10.  
  11. header('Status: 404 Not Found');
  12. header('HTTP/1.0 404 Not Found');
  13. ?>


zobacz także to.
zimi
sorry że odgrzewam ale problem olałem bo nie bardzo mi działało rozwiązanie które zostało przedstawione... ale zaczął znowu mi doskwierać ten problem.. co konkretnie trzeba na Apache'u ustawic? jakoś mało z serwem się bawię...
stygma
W pliku httpd.conf:
Cytat
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line:
#
# Alias /error/include/ "/your/include/path/"


pozdrawiam stygma
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.