Visualizzazione risultati 1 fino 12 di 12

Discussione: perchè non viene usato il codice 404?

  1. #1
    Guest

    Predefinito perchè non viene usato il codice 404?

    ciao
    stavo cercando di autenticarmi come il gestore del mio sito al servizio google sitemap, ma questa procedura prevede dei controlli che i siti di altervista non possono superare a causa di una configurazione anomala* delle pagine 404 di errore:
    nello specifico google fa 2 controlli:
    -verifica che esista sul sito un file con un nome particolare da lui indicato precedentemente (controlla il codice 200 per quel file)
    -verifica che il server risponda con il codice 404 alle richieste di file non esistenti (per non permettere ad altri di dichiararsi i gestori del sito - spiegazione estesa (penultima faq))

    altervista alle pagine inesistenti risponde erroneamente con 302 e quindi il secondo controllo fallisce

    si può sistemare questo comportamento a livello di server?
    e solo per il mio sito, posso fare qualcosa con il mod_rewrite per passare temporaneamente questo test?

    ciao & grazie

    EDIT: * non sono completamente sicuro che la configurazione attuale sia anomala, forse - in teoria - è giusta dato che il reindirizzamento è verso una pagina ESISTENTE sul proprio sito (e quindi il codice 302 è appropriato).
    Resta il fatto che il reindirizzamento è partito da una pagina non esistente e quindi dovrebbe essere restituito il codice 404. Ad esempio google mostra una pagina di errore personalizzata restituendo il codice 404)
    Ultima modifica di jockersoft : 24-09-2005 alle ore 12.36.25

  2. #2
    Guest

    Predefinito

    prova a mettere la pagina not_found.html e fai la prova

  3. #3
    Guest

    Predefinito

    Io uso Google Sitemaps e non ho problemi...

  4. #4
    Guest

    Predefinito

    prova a mettere la pagina not_found.html e fai la prova
    cosa significa? ho già la pagina not_found.html
    il problema è un altro: altervista non dovrebbe restiture il codice 302 per le pagine non esistenti ma il codice 404

    Io uso Google Sitemaps e non ho problemi...
    sei riuscito a passare la verifica, o non hai verificato il sito?

  5. #5
    Guest

    Predefinito

    allora prova a toglierlo cosi risponderà direttamente la pagina di altervista

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da jostock
    allora prova a toglierlo cosi risponderà direttamente la pagina di altervista
    ottima idea!!
    ha risolto il problema

    grazie

  7. #7
    TheLegs non è connesso Neofita
    Data registrazione
    10-02-2004
    Residenza
    Bari, IT
    Messaggi
    2

    Predefinito

    Citazione Originalmente inviato da jostock
    allora prova a toglierlo cosi risponderà direttamente la pagina di altervista
    Vero.
    Ma resta il problema: perché, se utilizzo la pagina not_found.html, il codice ritornato è 200 anziché 404?

    Ipotesi: la pagina che normalmente compare con errore 404 verifica se è presente una pagina not_found.html. Se sì ritorna 302 (redirect) e richiede al client HTTP di scaricare un'altra pagina, che ovviamente ritorna 200 (ok).

    Se è così, la cosa si risolve impostando la pagina predefinita in modo tale che, anziché ritornare 302, ritorni comunque 404 e mostri, anziché il solito testo, il contenuto del file not_found.html. Questo lo si fa con una riga di PHP (echo file_get_contents(".../not_found.html")).

    Che ne dite?

  8. #8
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    Di fatto formalmente quella sarebbe la soluzione corretta, ma lo scopo di una pagina custom non è solo quello di abbellire il sito, ma anche di avere un controllo sulle pagine non trovate.

    È differente il comportamento di un indicizzatore che si ritrova un secco 404 rispetto a un 302 -> 200, nel primo caso l'url è direttamente eliminato, nel secondo no. A molti questo fa comodo, e se non ricordo male fu una delle motivazioni addotte nella richiesta di poter customizzare le pagine d'errore.
    Ultima modifica di Gianluca : 20-12-2005 alle ore 13.52.21
    Gianluca

  9. #9
    TheLegs non è connesso Neofita
    Data registrazione
    10-02-2004
    Residenza
    Bari, IT
    Messaggi
    2

    Predefinito

    Citazione Originalmente inviato da Gianluca
    È differente il comportamento di un indicizzatore che si ritrova un secco 404 rispetto a un 302 -> 200, nel primo caso l'url è direttamente eliminato, nel secondo no. A molti questo fa comodo, e se non ricordo male fu una delle motivazioni addotte nella richiesta di poter customizzare le pagine d'errore.
    A questo punto mi chiedo se sia possibile utilizzare un altro tipo di file, ad esempio "not_found404.html" per far sì che il server risponda con il secco 404

    Costa al più un paio di if (se trova not_found.html ritorna 302 -> 200, altrimenti ritorna 404; se esiste not_found404.html allora eccetera).

    A conti fatti la pagina custom viene utilizzata molto spesso semplicemente per abbellimento. Però d'altra parte ritengo utile l'utilizzo del 200 per favorire chi non vuole URL inesistenti. Il problema è alcuni (come me e l'OP), quando c'è da dire che la pagina è effettivamente inesistente, preferiscono che questo avvenga anche a "basso livello".

    Un altro dei motivi per cui vorrei questo - a titolo puramente personale, fin tanto che qualcuno non sarà d'accordo con me :) - è che, a causa del redirect, l'URL viene modificato.
    Mettiamo il caso che ho impiegato il mio tempo per scrivere a manina http://utente.altervista.org/cartell...3/npmefile.htm anziché nomefile.htm... la pagina 404 predefinita ha un redirect dopo 8 secondi e magari devo lottare col browser per avere il tempo di correggere l'URL... ma nel caso di redirect è ancora più infame, perché tutto l'URL viene modificato in http://utente.altervista.org/not_found.html... mi è capitato in fase di produzione e giuro che non è una sensazione piacevole

    Teniamo conto che il problema tanto lamentato da Google Sitemaps deriva peraltro dalle sue quality guidelines, in cui raccomanda appunto di evitare questa tecnica per non avere doppioni nell'indice e nelle cache ed evitare sprechi di risorse.

  10. #10
    vmtraduzioni non è connesso Neofita
    Data registrazione
    02-05-2010
    Messaggi
    6

    Predefinito

    Mi rendo conto che il thread è molto vecchio, ma non ne ho trovati di più recenti su questo argomento.
    La soluzione proposta da TheLegs mi sembra possa far contenti tutti e credo che andrebbe implementata.
    Però, se questo "doppio controllo" non fosse possibile, credo che si debba far funzionare le cose nella maniera "formalmente corretta" (come l'ha definita Gianluca): 404 secco. Se la pagina non esiste, è giusto che la risposta sia "pagina non esistente", rispondere 302 mi sembra un imbroglio. Capisco che ad alcuni faccia comodo avere il 302, ma non è giusto che per la comodità di alcuni si debbano penalizzare quelli che vogliono fare le cose nella maniera standard. Quelli a cui fa comodo il 302 saranno incentivati a progettare meglio i link.
    Ma, ripeto, se poi fosse possibile la soluzione doppia proposta da TheLegs... tanto meglio per tutti!

  11. #11
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Le cose sono cambiate da allora, per esempio ora puoi specificare le pagine di errore con la direttiva htaccess ErrorDocument.

  12. #12
    vmtraduzioni non è connesso Neofita
    Data registrazione
    02-05-2010
    Messaggi
    6

    Predefinito

    Ottimo, grazie :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •