Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449

    Pesonalizzare errore 404

    In un sito ho "personalizzato" lerrore 404 in caso si cerchi di aprire
    una pagina non (ancora) presente col seguente codice:
    codice:
    <?php if(file_exists("$folder/$pagina.php")) include("$folder/$pagina.php"); else include("moduli/nondisp.php"); ?>
    e ho ovviamente un file nondisp.php.
    Vorrei però inserire anche una pagina diversa se il problema
    fosse generato dal tentativo di aprire un link a un oggetto
    (come un pdf) non ancora caricato.
    Come possa fare in questo caso?

    Grazie
    M.

  2. #2
    questo non è l'errore 404... esso si imposta diversamente...

    Codice PHP:
    <?php
    if(condizione per errore 404)
          {
          
    header ("HTTP/1.0 404 Not Found");
          exit;
          }
    ?>
    poi nella root del sito crei un file .htaccess al cui interno scrivi il percorso alla pagina di errore che hai personalizzato:
    codice:
    ErrorDocument 404 http://tuohost.com/errori/404.html

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449
    Se la risorsa non viene trovata, come un link
    a un pdf che non è stato ancora caricato nel server,
    che codice dovrei mettere come condizione di quell'errore?

    In realtà ho provato una strada semplice,
    ma con una controindicazione.
    Ho creato un file .htaccess mettendoci dentro
    codice:
    ErrorDocument 404 /moduli/error.php
    SOlo che in questo caso la pagina che esce
    è solo la pagina non formattata,
    mentre nondisp.php ha tutta la formattazione
    tipica delle alte pagine del sito

    Grazie
    M.

  4. #4
    mica ho capito??

    ErrorDocument 404 percorso/alla/pagina/nondisp.php

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449
    Mi spiego meglio. Ho lasciato il codice del primo msg
    per gestire le pagine non esistenti. Invece, per le chiamate
    a materiale non disponibile nel server ho fatto così.
    Ho creato .htaccess e ci ho messo dentro il codice
    codice:
    ErrorDocument 404 /moduli/error.php
    Quindi ho creato un file /moduli/error.php col contenuto
    codice:
    Risorsa non disponibile
    Però, ovviamente, succede che nel primo caso
    la pagina nondisp.php è inserita in index.php
    e dunque appare il msg "Pagina non disponibile",
    ma la pagina stessa è formattata e ha i menu
    poiché viene gestita da index.php. Nel secondo caso
    il msg è gestito da Apache tramite .htaccess,
    per cui si vede solo una pagina bianca col messaggio
    "Risosra non disponibile". La tua soluzione è migliore,
    solo che non so cosa mettere come condizione
    se uno clicca su un link a un materiale come un pdf
    o un jpg non già riversato nel server...

    M.

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    E cosa ti impedisce di impostare su .htaccess il puntamento a index.php con una querystring che porti allo stesso risultato del primo caso?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449
    Puoi farmi un esempio del codice che intendi?

    Grazie!
    M.

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    No.
    Lo saprai tu come gestisci index.php, mica io

  9. #9
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Originariamente inviato da oly1982
    questo non è l'errore 404... esso si imposta diversamente...

    Codice PHP:
    <?php
    if(condizione per errore 404)
          {
          
    header ("HTTP/1.0 404 Not Found");
          exit;
          }
    ?>
    poi nella root del sito crei un file .htaccess al cui interno scrivi il percorso alla pagina di errore che hai personalizzato:
    codice:
    ErrorDocument 404 http://tuohost.com/errori/404.html

    Scusa... forse mi sbaglio, ma settare gli header a "HTTP/1.0 404 Not Found" non fa automaticamente caricare la pagina di errore specificata nel htaccess... semplicemente setta gli header.
    Poi devi dirgli tu che html visualizzare (anche con un include)

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.