We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Własne strony błędów - howto


tomeko
18-08-2009, 20:56
Wątek stary, ale odkopię, bo się naciąłem (konto start).
Podanie w .htaccess bezwzględnej ścieżki do strony błędów powoduje, że serwer odsyła do tej strony przez przekierowanie (HTTP 302), przeglądarka wskazuje na URL strony błędu a nie URL wprowadzony przez użytkownika a sama strona błędu jest przesłana ze statusem HTTP 200/OK. Następstw można się domyśleć - błędne indeksowanie zawartości przez roboty, brak możliwości poprawienia literówki w URL przez użytkownika.
Strony błędów działają poprawnie gdy ścieżki są względne.
Sugerowałbym uaktualnienie instrukcji http://pomoc.ovh.pl/HtaccessRozne.

gonys
18-07-2008, 02:07
Aktualnie nie działa już na moim koncie :/
Próbowałem zmienić ścieżki na lokalne ale też nie pomaga :/

Jak ktoś ma namiary na jakiś inny skrypt który będzie dobrze działał w obecnej sytuacji to proszę niech wstawi. Dzięki z góry.

Zrzuta z FF:

Pętla przekierowań

Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.

Przeglądarka przerwała próby pobrania żądanego elementu. Witryna przekierowuje żądanie w sposób, który uniemożliwia jego dokończenie.

* Czy ciasteczka zostały wyłączone lub zablokowane dla tej witryny?
* UWAGA: Jeśli włączenie obsługi ciasteczek dla tej witryny nie rozwiązuje problemu, najprawdopodobniej jest to problem w konfiguracji serwera, a nie oprogramowania na Twoim komputerze.
-------------------------------------------------------------------------------------
Poradziłem sobie z tym. Rozwiązałem to zmieniając ścieżkę z error.php?e=kodbledu na index.php?kodbledu

na górze w index-ie
if (isset($_GET['e'])){
include("errors.php");
exit;
}
Nie wiem dlaczego nie mogłem otworzyć pliku error.php nawet po zmianie nazwy Dziwne.

Pomogło

Łabędź
27-09-2005, 14:39
Cytat Napisał Frano
Mały tutorial jak zrobić własne strony błędów.
'I o to chodzi, i o to chodzi'

pozdrawiam

Frano
27-09-2005, 14:01
Mały tutorial jak zrobić własne strony błędów.

1) Tworzymy plik .htaccess
i wklejamy tam
Kod:
ErrorDocument 400 http://twoj adres/error.php?e=400
ErrorDocument 401 http://twoj adres/error.php?e=401
ErrorDocument 403 http://twoj adres/error.php?e=404
ErrorDocument 404 http://twoj adres/error.php?e=404
ErrorDocument 405 http://twoj adres/error.php?e=405
ErrorDocument 406 http://twoj adres/error.php?e=406
ErrorDocument 408 http://twoj adres/error.php?e=408
ErrorDocument 410 http://twoj adres/error.php?e=410
ErrorDocument 411 http://twoj adres/error.php?e=411
ErrorDocument 414 http://twoj adres/error.php?e=414
ErrorDocument 500 http://twoj adres/error.php?e=500
ErrorDocument 503 http://twoj adres/error.php?e=503
Podmieniamy twój adres na właściwy adres strony

Teraz tworzymy plik error.php
i wklejamy taki oto przykładowy kod
Kod PHP:
switch ($_GET['e']) {
        case 
'401':
              echo
'

Error 401




  

  
    
      
        Error 401
    
    
      
        Brak Autoryzacji
    
    
      
      

        



     

        
    
  
  



';
           break;
        case 
'404':
              echo
'


Error 404




  

  
    
      
        Error 404
    
    
      
        Nie znaleziono strony o podanym adresie
    
    
      

        



     

        
    
  
  



';
           break;
         case 
'403':
               echo
'


Error 403




  

  
    
      
        Error 403
    
    
      
        Brak Dostępu do tej części strony
    
    
      
          

        



     

        
    
  
  



';
           break;
         case 
'500':
               echo
'


Error 500





  

  
    
      
        Error 500
    
    
      
        Błąd Wewnętrzny Serwera.
Za utrudnienia Przepraszamy

    
    
      
      

        



     

        
    
  
  



';
           break;
         default:
                 
header("location: index.php");
           break;
}
?>
Zamieściłem tutaj tylko najczęstrze błędy.
Oczywiście każdą stronę błędu można dowolnie zmieniać
Np. zamiast tekstu dać jakiś obazek...