Dirottare l’errore 404 (pagina non trovata) verso la home page in Joomla 1.5
4 agosto 2012
Il Bootstrap Framework di Twitter su Joomla! 2.5
8 agosto 2012

L’errore 404 è la risposta prevista dallo standard HTTP quando un visitatore del sito web non può accedere ad un dato contenuto.

E’ un errore che si incontra piuttosto comunemente quando si spostano o cancellano determinate pagine senza modificare i link che vi accedono o mentre i motori di ricerca attendono di essere aggiornati.

All’errore 404 corrisponde normalmente una pagina d’errore standard del server http, unA pagina d’errore bruttina che rende l’esperienza dell’utente del sito piuttosto fastidiosa.

Fortunatamente il serve Apache consente, tramite il suo file di configurazione .htaccess, di dirottare ad una pagina specifica l’utente in caso di errore 404; basta aggiungere la riga

ErrorDocument 404 /404.php

al file .htaccess.

404.php è la pagina di destinazione che si trova in questo caso nella radice (/) dello spazio web.

Chiaramente la pagina di arrivo si può personalizzare a piacimento.

 

2 Comments

  1. Giuseppe ha detto:

    Ciao Giorgio.

    Vorrei chiedere come si fa un reindirizzamento di errore 404 di una URL con slash finale forzato in htaccess. Ad esempio http://www.example.com/page-not-found/

    Una URL del genere, nel mio sito (http://oristano.altervista.org/), non reindirizza alla pagina 404.php creata ma visualizza il template del sito senza contenuto.

    Sia il file htaccess che il file 404.php si trovano nella ROOT del sito

    Posto il mio codice htaccess

    Options +FollowSymLinks -MultiViews
    AddDefaultCharset UTF-8
    RewriteEngine On
    DirectoryIndex index.php
    RewriteBase /
    #
    # PROC/SELF/ENVIRON? NO!
    RewriteCond %{QUERY_STRING} proc/self/environ [OR]
    #
    # BLOCCO ACCESSO AL FILE .HTACCESS

    Order allow,deny
    Deny from all
    Satisfy All

    #
    # FORZA AGGIUNTA DELLO SLASH / ALLA FINE DELLA URL
    RewriteCond %{REQUEST_URI} /+[^\.]+$
    RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
    #
    # RIMUOVE INDEX.PHP DALLA URL
    RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
    RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
    #
    # RISCRIVE URL
    RewriteRule ^([^/]*)/$ index.php?id=$1 [L]
    RewriteRule ^([^/]*)/([^/]*)/$ index.php?id=$1&sezione=$2 [L]
    #
    # ERRORE PAGINA NON TROVATA
    ErrorDocument 404 /404.php
    #
    php_flag magic_quotes_gpc off

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *