Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Redirezione in caso di errori 400, 401, 403, 404 e 500

    Ciao ragazzi/e ,

    ho costruito alcune pagine personalizzate a cui rimandare il visitatore in caso si verificasse uno dei seguenti errori:
    • 400 Richiesta non corretta
    • 401 autorizzazione necessaria
    • 403 Accesso negato
    • 404 Pagina non trovata
    • 500 Errore interno del server


    Siccome non ho l'accesso ad .htaccess file del server, mi chiedevo se esiste un modo per farlo in PHP e se sì come.

    Grazie per l'attenzione

  2. #2
    Girando ho trovato questo

    Codice PHP:
    <?php
    $error 
    $_SERVER['REDIRECT_STATUS']; // - Displays HTTP response from original page, 404, 500 etc.
    switch($error){
         case 
    404:
         
    $title 'Error 404 - Page not found';
         
    $error '';
         break;
         case 
    400:
         
    $title 'Error 400 - Bad Request';
         
    $error 'Your browser sent a request that this server could not understand.';
         break;
         case 
    401:
         
    $title 'Error 401 - Authorization Required';
         
    $error 'This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn\'t understand how to supply the credentials required.';
         break;
         case 
    403:
         
    $title 'Error 403 - Forbidden';
         
    $error 'You don\'t have permission to access on this server';
         break;
         case 
    405:
         
    $title 'Error 405 - Method Not Allowed';
         
    $error '';
         break;
         case 
    406:
         
    $title 'Error 406 - Not Acceptable';
         
    $error '';
         break;
         case 
    409:
         
    $title 'Error 409 - Conflict';
         
    $error '';
         break;
         case 
    413:
         
    $title 'Error 413 - Request Entity Too Large';
         
    $error 'The requested resource does not allow request data with GET requests, or the amount of data provided in the request exceeds the capacity limit.';
         break;
         case 
    414:
         
    $title 'Error 414 - Request-URI Too Large';
         
    $error 'The requested URL\'s length exceeds the capacity limit for this server.';
         break;
         case 
    500:
         
    $title 'Error 500 - Internal Server Error';
         
    $error 'The server encountered an internal error or misconfiguration and was unable to complete your request.';
         break;
         case 
    501:
         
    $title 'Error 501 - Method Not Implemented';
         
    $error 'GET to URL not supported.';
         break;
         default:
         
    $title 'Error '.$error;
         
    $error '';
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" type="text/css" href="http://localhost/rustytesto/PogSiteV2/Includes/css.css">
    <title><?php echo $title ?></title>
    <style type="text/css">
    img{
         position: absolute;
         top: 15px;
         left: 25px;
         }
    #error{
         position: absolute;
         margin: 0 25px 25px 0;
         top: 75px;
         left: 300px;
         }
    </style>
    </head>

    <body>
    [img]/images/Error.jpg[/img]
    <div id='error'>
    <H1><?php echo $title;?></H1>


    <?php echo $error?></p>
    </div>
    </body>
    </html>
    Spero sia abbastanza chiaro...

    Ovviamente è da includere in tutte le pagine!

  3. #3
    Ciao Samleo,

    innanzitutto grazie per avermi risposto. Mi devi scusare, ma purtroppo non sono per niente un'esperta di php ed in generale di programmazione server-side.

    La mia intenzione è, nel caso di errore 404 (per esempio quando l'utente digita http://www.seoxgoogle.net/pagina-sbagliata.php), quella di rimandarlo alla pagina che ho già preparato http://www.seoxgoogle.net/404-index.php contenente dei link per permettergli di continuare a navigare.

    Tu mi consigli di includere il codice in tutte le pagine, ma in questo caso la pagina non esiste giusto?
    Scusa ma non ho capito.

    Nel mio sito esistono già di default delle pagine per tutti questi tipi di errori, è solo che non riesco a personalizzarle con il mio css e non so dove si trovino.

    Spero di essermi spiegata. Grazie ancora

  4. #4
    Come hai creato la struttura del sito?

    Una index, che richiama i contenuti in base alla pagina visualizzata, o in tutte le pagina hai riprodotto header, corpo e footer?

  5. #5
    Tutte le pagine ha delle sezioni comuni (header, nav, aside, footer) che ho messo in una cartella a parte e quidi ogni pagina include queste sezioni ma ha un corpo con contenuto proprio (statico, non dinamico)

  6. #6
    Uhm...
    in questo caso è più difficile..
    Io di solito faccio una index da dove richiamo le varie pagine tramite get..quindi mi viene semplice dirgli, che se non trova la pagina, ne fa spuntare una di default.

    In questo caso non saprei come fare, dato che l'.htaccess non puoi usarlo

  7. #7
    Interessante il modo in cui strutturi i tuoi siti.
    Se non ti reca troppo disturbo, puoi spiegarmi indicativamente come implementi la tua index che richiama i contenuti in base alla pagina visualizzata?

    Grazie in ogni caso

  8. #8
    Mandami un PM con un tuo recapito.

    Possibilmente skype che ti spiego qualcosa

  9. #9
    Ciao Samleo,
    utilizzo Skype raramente, solo quando sono all'estero.

    La mia era una curiosità verso l'approccio con cui strutturi i tuoi siti da poter eventualmente avere verso quelli futuri che costruirò, ma per il sito che ho ora in produzione volevo semplicemente sapere se c'è un modo tramite php di fare quello che si può fare modificando la direttiva ErrorDocument nel file .htaccess a cui purtroppo non ho accesso.

    Non voglio una spiegazione dettagliata, tanto meno farti perdere troppo tempo. Comunque puoi inviarmi un messaggio da questa pagina http://www.seoxgoogle.net/contact.php se ti va.

    Ti ringrazio ancora per i tuoi post, sono stati utili.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.