• User

    Come funziona la gestione dell'errore 404 in wordpress

    Ciao a tutti sono un programmatore e sto cercando di capire come funziona il redirect alla pagina 404.php in caso di errore 404 in wordpress.

    Tale ricerca nasce dal fatto che voglio creare un redirect per errori 404 sul mio sito, senza utilizzare la regole nell'htaccess (perchè funziona in base a impostazioni dell'host su cui risiede), mentre vedo che wordpress funziona in qualsiasi caso e che sviscerando nel codice, non utilizza appunto il metodo con l' .htaccess.

    Facendo diverse ricerche ho notato l'utilizzo di alcune funzioni come is_404() e get_404_template() ma non sono arrivato a nessuna conclusione pratica in quanto non trovo effettivamente un controllo o qualcosa del genere per riconoscere che c'è un errore 404. :arrabbiato:

    Qualcuno ha più nozioni di me?
    Grazie in anticipo! 🙂


  • User

    Nessuno sa aiutarmi? 😞


  • Super User

    Di solito nel template c'è la pagina 404, modificando quella modifichi le impostazioni.


  • User

    No... forse mi sono spiegato male io.
    So che se modifico la pagina 404.php che sta nel tema, posso modificare a mio piacimento stile e template.
    Ma la mia è una domanda ben più difficile:
    Solitamente per gestire l'errore 404 si mette ErrorDocument 404 /file.php in modo tale che apache quando viene richiamata una pagina inesistente, reindirizza automaticamente alla pagina desiderata.

    Wordpress però utilizza un altro metodo e cioè un Rewritecond e RewriteUrl nel quale se il link non è un file o una directory reindirizza alla pagina index.php.

    Poi però ovviamente una volta reindirizzati a questa pagina, bisogna controllare effettivamente se c'è stato un errore 404, ovvero se il link da cui proviene l'utente, prima di essere stato indirizzato a index.php, sia esistente oppure che sia esistente un determinato post.

    Nonostante abbia cercato per giorni interi nel codice e su guide internet, non ho trovato altro che le funzioni is_404() e get_404_template(), ma che non comprendono i giusti controlli che cerco e che ho spiegato precedentemente.

    Ora è più chiaro? :figo2: