Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Eliminare termini presenti dopo l'estensione .htm

    Salve,
    spero di riuscire a spiegare il mio problema, ho scoperto attraverso "Google strumenti per webmaster" che in moltissimi link del mio sito alla fine delle URL sono presenti altri termini e questi vengono a creare nuove pagine copie della pagina principale ma con i link interni sballati, mi spiego con degli esempi.
    Il link www .mio-sito.it/storia/mia-pagina.htm
    diventa www .mio-sito.it/storia/mia-pagina.htm/xyz
    quest'ultima pagina è identica nei contenuti a www .mio-sito.it/storia/mia-pagina.htm ma i link interni sembrano perdere i percorsi assoluti, ovvero il link www .mio-sito.it/geografia/pagina.htm diventa www .mio-sito.it/storia/geografia/pagina.htm
    Come posso evitare tutto questo? Ho pensato attraverso il file .htaccess dicendogli di reinderizzare i link che terminano senza estensione (nel mio esempio www .mio-sito.it/storia/mia-pagina.htm/xyz) ad una pagina 404?
    Avete ulteriori suggerimenti? Inoltre qualcuno sa spiegarmi come può accadere tutto questo?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    79
    Sinceramente credo che con queste poche informazioni sara' dura per chiunque aiutarti.
    Prova ad essere piu' specifico.

  3. #3
    Grazie Haran78,
    ci riprovo con degli esempi reali.

    In "Google strumenti per webmaster" tra gli Errori di scansione mi vengono segnalate tantissime pagine non trovate (errore 404) i cui link sono generati da pagine come queste:

    http://www.riflessioni.it/senso-dell...ugias.htm/feed
    http://www.riflessioni.it/senso-dell...gias.htm/forum

    come potete notare dopo l'estensione .htm compare uno slash e in questo caso i termini feed o forum, URL che non sono generate dal sito.

    Se fate un confronto tra le pagine esatte come ad esempio nel primo caso http://www.riflessioni.it/senso-dell...ado-augias.htm con quella "misteriosa" http://www.riflessioni.it/senso-dell...ugias.htm/feed noterete che in quest'ultima i link interni all'articolo perdono i percorsi assoluti, ad esempio il primo collegamento ipertestuale all'interno della prima risposta applicato al termine "male" che rimanda al link http://www.riflessioni.it/encicloped...e-concetto.htm diventa http://www.riflessioni.it/senso-dell...e-concetto.htm generando quindi una pagina inesistente, noterete inoltre che perde i collegamenti al css e quindi la formattazione della pagina.
    Per ovviare a questi due errori (pagine inesistenti ma soprattutto pagine duplicate) pensavo di risolverlo attraverso il file .htaccess dicendogli di reindirizzare i link che terminano senza estensione o meglio con l'aggiunta di un termine dopo l'estensione, ad una pagina 404.
    Cosa ne pensate? Sapete aiutarmi?
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    79
    Prova con qualcosa del tipo:

    codice:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ /$1/$2 [R=301,NC,L]
    Dovrebbe funzionare nel tuo caso. Se pero' aggiungi sottocategorie nelle url avrai dei problemi.

    Magari prova anche questa un po' piu' specifica:

    codice:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^([^/]+)/(.+)\.htm/([^/]+)$ /$1/$2.html [R=301,NC,L]

  5. #5
    Grazie Haran78,
    a me interessa solo per le estensioni .htm e .html quindi mi serve quella più specifica.
    Nel mio .htaccess ho già queste righe

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)/$ http://www.riflessioni.it/$1 [R=301,L]

    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^riflessioni.it [NC]
    RewriteRule ^(.*)$ http://www.riflessioni.it/$1 [L,R=301]

    E' quindi sufficiente aggiungere la riga del RewriteRule che mi consigli alla fine o devo ripetere tutte e tre le righe che mi suggerisci? scusa l'ignoranza ma ho grosse lacune.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    79
    Si, aggiungi solo l'ultima riga.

  7. #7
    Funziona benissimo grazie!

    Questo codice
    codice:
    RewriteRule ^([^/]+)/(.+)\.htm/([^/]+)$ /$1/$2.html [R=301,NC,L]
    L'ho modificato in modo da reindirizzare le URL sbagliate con estensione .htm non su una pagina 404 ma su quella corretta
    codice:
    RewriteRule ^([^/]+)/(.+)\.htm/([^/]+)$ /$1/$2.htm [R=301,NC,L]
    e per le pagine con estensione .html ho aggiunto questa riga
    codice:
    RewriteRule ^([^/]+)/(.+)\.html/([^/]+)$ /$1/$2.html [R=301,NC,L]
    Tutto funziona quindi non dovrebbero esserci problemi.
    Ma per una corretta indicizzazione nei motori di ricerca è meglio reindirizzare una URL errata su una pagina esistente o su una pagina 404?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    79
    Visto che il contenuto testuale esiste anche nelle pagine errate ed e' lo stesso della pagina originaria e' meglio da un punto di vista SEO reindirizzare sulla pagina corretta. In questo modo i punteggi si sommano.

  9. #9
    Originariamente inviato da Haran78
    Visto che il contenuto testuale esiste anche nelle pagine errate ed e' lo stesso della pagina originaria e' meglio da un punto di vista SEO reindirizzare sulla pagina corretta. In questo modo i punteggi si sommano.
    Grazie Haran78,
    il tuo aiuto è stato prezioso.

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.