• Super User

    @tarr said:

    Allora, ho creato una pagina errore404.htm e nel file .htaccess ho inserito

    >ErrorDocument 404 http://www.miosito.com/errore404.htm
    >``` 
    come immaginavo, anche così ottengo un 302 dal tool linkato da claudioweb. In fondo o è index.htm, o è errore404.htm è la stessa cosa, no? 
    Opss ma allora non hai letto :)
    
    @claudioweb said:
    > Questa sintassi:
    

    ErrorDocument 404 http://www.sito.com/

    *** è errata...***
    Se usi un url assoluto Apache ti restituisce un 302.

    *** Devi usare un url relativo*** (risepetto alla root del sito).
    Qualcosa del genere:

    >ErrorDocument 404 /root/
    >``` 

  • User Attivo

    Azz, mi ero dimenticato :rollo:
    Provo subito...


  • Super User

    Riporto dalla documentazione di Apache:

    ErrorDocument directive

    Note that when you specify an ErrorDocument that points to a remote URL (ie. anything with a method such as "http" in front of it), Apache will send a redirect to the client to tell it where to find the document, even if the document ends up being on the same server. This has several implications, the most important being that the client will not receive the original error status code, but instead will receive a redirect status code. This in turn can confuse web robots and other clients which try to determine if a URL is valid using the status code. In addition, if you use a remote URL in an ErrorDocument 401, the client will not know to prompt the user for a password since it will not receive the 401 status code. Therefore, if you use an "ErrorDocument 401" directive then it must refer to a local document.


  • User Attivo

    ok,
    ho inserito in .htaccess la riga

    ErrorDocument 404 /errore404.htm
    ``` e tutto fila, però...
    però se il file richiesto non è immaginato nella cartella principale, ma, ad esempio in miosito.com/forum/idsijodiodsoiNONESISTO.htm
    la pagina che appare non trova le immagini ed i file css del template, visto che il file errore404.htm è nella root
    di conseguenza o esiste un modo per evitare il problema oppure conviene creare un file errore404.htm senza immagini nel template e,magari, con i css in linea...
    Che ne dite?

  • Super User

    Prova ad usare il tag <base> che indica l'url di base a cui fare riferimento per i percorsi relativi.

    Oppure usa url assoluti per immagini e css.

    Esempio:

    [html]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <base href="http://www.google.it/">

    <title>Untitled Document</title>
    </head>
    <body>

    <img src="/intl/it_it/images/logo.gif">

    </body>
    </html>[/html]
    Comunque questa cosa mi pare un po' ot. 🙂


  • User Attivo

    Vabbè, il thread potrebbe diventare la guida definitiva al problema della customizzazione del 404 in ottica SEO.
    Comunque grazie Claudioweb, i tuoi consiglisono preziosi. Dopo cena provo con il base (all your base...)


  • User Attivo

    @hakapilot said:

    Google mi ha bannato per 1 mese con il cliente infuriato.

    Esattamente che tipo di ban ?
    col site: non avevi risultati ?
    Hai ricevuto comunicazione ufficiale da google ?


  • Super User

    @claudioweb said:

    No assolutamente... non ottieni un 302... 😉

    Usa il tool che ti avevo indicato prima e vedrai che le intestazioni http segnalano un 404 not found.

    Se usi un 404 dici: "non esiste più, vai qui."
    Se usi 302 dici: "esiste ancora, ma si è trasferita."

    Purtroppo non so come altro chiarirti il concetto.. 🙂

    Posso solo dirti che sono due cose profondamente diverse. Nonostante l'effetto per l'utente sia lo stesso di andare a finire nell'altra pagina.

    L'importante è che se inventi un nome di pagina inesistente, esso restituisca un 404 tramite quel tool...

    Ciao :ciauz:
    personalmete ho usato una pagina 404 personalizzata, ma ottengo un 302 Found ... ed anche rimettendo la pagina originale il risultato non cambia..

    ho un server Apache e non so come correggere sta cosa ... :arrabbiato:


  • Super User

    @sughero3 said:

    personalmete ho usato una pagina 404 personalizzata, ma ottengo un 302 Found ... ed anche rimettendo la pagina originale il risultato non cambia..

    ho un server Apache e non so come correggere sta cosa ... :arrabbiato:
    mi correggo, ho usato il file .ataccess e ho risolto la cosa 😄


  • User Attivo

    @Catone said:

    1. Se disponi della conoscenza necessario allo scopo, puoi creare un sistema intelligente di ricerca, per cui, a fronte della restituzione della 404 (che ovviamente è in serp per una certa chiave di ricerca), vengano forniti anche link a pagine alternative che trattano del medesimo argomento.

    :ciauz:

    o in alternativa puoi effettuare un redirect verso il sistema di ricerca interno al sito che effettua una query in base alla parola cercata. Ottimi consigli