Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Apache] Strona błędu
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam

Mam serwer VebServ i chce utworzyc własne strony błędów

Edytowałem plik httpd.conf w ten sposob :
Cytat
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
ErrorDocument 400 /error.php?400
ErrorDocument 401 /error.php?401
ErrorDocument 403 /error.php?403
ErrorDocument 404 /error.php?404
ErrorDocument 500 /error.php?500

#ErrorDocument 401 /error/401.php
#ErrorDocument 403 /error/403.php
#ErrorDocument 404 /error/404.php
#ErrorDocument 500 /error/500.php


Tzn.zakomentowałem juz istniejące linijki i wpisałem adres do własnego skryptu.
Skrypt umiesciłem a pliku WebServ/apache2/error.php

Ale mimo to i tak pojawia mi sie strona błędu ktorą widziałem juz wczesniej w czasie wystąpienia błędów czyli defaultowa strona WebServa......
RafaelX
bo nie ma takiego czegos jak
error.php?403
moze byc
error.php?err=403
Wolfie
Nie ma ?

A znasz strukture "Switch" i przekazywanie parametrow w urlu ?

Moze przedstawie kawalek swojego skryptu :

  1. <?php
  2.    $error_no = $_SERVER['QUERY_STRING'];
  3.    
  4.    switch ($error_no) {
  5.        case 400:
  6.            $error_output = "<h1>Strona błędu - &quot;Błędne żądanie &quot; (Kod błędu: 400)</h1>";
  7.            $error_output .= "Przeglądarka przesłała błędne żądanie.<br>";
  8.            $error_output .= "<a href=\"mailto:sysadmin@localhost.com\">Skontaktuj sie z administratorem systemu";
  9.            $error_output .= " jeśli uważasz ze ten błąd nie powinien mieć miejsca";
  10.            break;
  11.        
  12.        case 401:
  13.            $error_output = "<h1>Strona błędu - &quot;Wymagane uwierzytelnienie &quot; (Kod błędu: 401)</h1>";
  14.            $error_output .= "Przesłałeś błędne informacje związane z dostępem do zastrzeżonego obszaru.<br>";
  15.            $error_output .= "<a href=\"mailto:sysadmin@localhost.com\">Skontaktuj sie z administratorem systemu";
  16.            $error_output .= " jeśli uważasz ze ten błąd nie powinien mieć miejsca";
  17.            break;
  18. ?>


moze to cos wyjasni.....
RafaelX
i jak to niby zrobisz
  1. <?php
  2. if (isset($_GET['403'])){}
  3. ?>
questionmark.gif
Wolfie
Jak wyzej....(post 3)

Jakies pomysły co moze byc nie tak ?
RafaelX
a ten plik error.php nie powinien byc w katalogu ze stronami (chyba ze apache2 to właśnie ten folder ) questionmark.gif
Wolfie
Szczerze mowiac nie wiem gdzie powinien byc ale analizujac przez analogie:
gdzie:
Cytat
#ErrorDocument 401 /error/401.php
#ErrorDocument 403 /error/403.php
#ErrorDocument 404 /error/404.php
#ErrorDocument 500 /error/500.php

Jest defoultowo zdefiniowana sciezka w pliku httpd.conf do error w ktore to znajduja sie w katalogu :
WebServ/apache2/error/

sciezka :

WebServ/apache2/error.php

jest zupelnie prawidlowa biorąc pod uwage zdefiniowane przezemnie nowe sciezki w pliku httpd.conf :

Cytat
ErrorDocument 400 /error.php?400
ErrorDocument 401 /error.php?401
ErrorDocument 403 /error.php?403
ErrorDocument 404 /error.php?404
ErrorDocument 500 /error.php?500


Wiec wszystko wydaje sie byc prawidlowe, moze tutaj pod uwage trzeba wziac informacje na temat serwera, poniewaz po wpisaniu phpinfo() widac ze :

_SERVER["QUERY_STRING"] no value

Wiec moze to jest przyczyna.....?

Prosze o pomoc ..!
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.