Redirect 301 via .htaccess

Il posizionamento sui motori di ricerca non è solo ottimizzazione del codice html e backlink. È soprattutto una questione di contenuti, in realtà.
Ma ci sono anche altri aspetti tecnici che vanno curati. Uno di questi è la gestione dei differenti URL attraverso cui è possibile raggiungere un sito web.
Il caso tipico è il dominio con e senza il www. davanti. Ad esempio, potrei raggiungere questo blog sia tramite http://stefanogorgoni.com sia tramite http://www.stefanogorgoni.com.
Se su Apache abbiamo configurato il virtual host attribuendogli i due differenti hostname come ServerName e/o ServerAlias, allora possiamo rendere unico l’url attraverso cui raggiungere il sito con pochissime righe di url rewriting che andranno indicate nel file .htaccess della document root.
Ad esempio, le regole di mod_rewrite per configurare correttamente un redirect permanente da http://stefanogorgoni.com a http://www.stefanogorgoni.com è questo:

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

Prestate attenzione al fatto che le prime due righe devono essere riportate solo una volta, quindi verificate prima che non siano già presenti all’interno del vostro file .htaccess.

Questa tecnica ovviamente funziona solo con Apache.
Ignoro come si possa fare altrettanto su webserver scadenti.

Comments

  1. Se non sai utilizzare un Il miglior Webserver non categorizzarlo come scadente, perchè per dire questo significa che di Web, SEO, e Programmazione ne capisci ben poco. Prima di parlare informati e sappi che è un dato di fatto che IIS è 1000 volte superiore a Apache. Purtroppo chi non studia bene le cose ed è ignorante non dovrebbe permettersi il lusso di scrivere certe cose… ma purtroppo ultimamente Internet sta diventando spazzatura…

  2. Giovanni mi hai fatto sorgere un dubbio. cioé, vista l’email assolutamente inventata che hai inserito per commentare, pensavo volessi restare anonimo. ma poi vedo il link all’Istituto Italiano della Saldatura.

    il dubbio é: volevi celarti dietro all’anonimato per dire una cazzata oppure i saldatori davvero credono che IIS sia meglio?

  3. Se magari saresti studiato un pò sia Apache che IIS sapresti le potenzialità di quest’ultimo, ma purtroppo in rete ci sono persone ignoranti e chiuse come un MULO che si limitano ad affermare che ciò che utilizzano è la cosa migliore senza provare entrambe le soluzioni.

    Dalla tua risposta vedo che un pò la verità fa male… eh… 😉

  4. veramente mi fa molto piú male il modo in cui storpi l’italiano.

    • Ciao Stefano!
      Non sono qui per dirti che stavo ricerchicchiando lo script dei redirect su Apache e che grazie a te ho trovato e imparato al volo, ma più che altro sento nelle vene il bisogno di appoggiare qualcuno che è costretto a subire commenti simili a quelli del fantomatico Giovanni…
      Non è che dietro queste mentite spoglie si cela il nostro caro…Bill? 😉
      P.S. Sei molto bravo Stefano spero di ritrovarti in qualche mia query!

  5. Fico, proprio quello che cercavo. Grazie 1000!

  6. prego 🙂

  7. jenova dice

    LOL, “sono studiato” anche io in materia di webserver, e mai avrei affermato, in maniera del tutto disinteressata, che IIS sia quanto meno paragonabile a Apache… non credo si tratti di una qustione di Linari o Windows fans, ma è un dato di fatto che la maggior parte degli host “seri” sono tutti Apache… chissà perchè..

    mah… non ho saputo resistere a commentare… scusami Stefano se ti ho inquinato un pò il post ^^,

  8. Salve,
    purtroppo sono incappato in un hosting abbastanza “pessimo” ed ho un piccolo problema:
    tutte le pagine senza “www” non vengono caricate.
    Allora ho fatto questo:
    Ho rediretto i DNS * e @ del mio sito sul mio ip statico dove sta in esecuzione xampp always on così da intercettare le richieste, e poi ho fatto una index.php che mi trasforma le richieste senza www in richieste con www tramite il codice:

    php $server = $_SERVER[‘SERVER_NAME’]; header(‘Location: http://www.’ . $server);

    putroppo non funziona come dovrebbe (a volte va, altre no).
    A me servirebbe un “redirect wild card” da “http://sito.ext/*” a “http://www.sito.ext/*” per qualunque valore di * in PHP (file, sottocartelle, variabili), ed ho a disposizione tutto apache per farlo, ma non so come (sia con php che htaccess).
    Mi potete aiutare?
    Sarebbe una grande cosa se potesse essere “indipendente” dal dominio, cioè ogni richiesta del tipo sito1.ext, sito2.ext… si trasformi automaticamente in http://www.sito1…, anche se la cosa non è fondamentale.
    Grazie.

    Dimenticavo: ovviamente il sito NON si trova sul mio pc, devo solo “reindirizzare” la richiesta.

  9. Ma per fare il redirect dalla home page di un sito.it al sito principale che e’ .com come devo fare?
    Ho il problema che molte mappe di google non riconoscono quella pagina perche’ si trova su un dominio diverso.
    Non mi interessa il posizionamento nei motori di questo sito, ma solo il redirect…

  10. Ciao nel mio file .htacces c’è già una delle 4 righe e non sò in che posizione inserire le altre. Eccolo:
    ——————————————–
    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress
    ——————————————–
    Se puoi indicarmi il da farsi te ne sarei grato:-)

  11. @gendif direi che non fa differenza, mettile prima o dopo il blocco di regole wp

  12. Ciao Stefano,
    ho seguito il tuo consiglio nel primo post e funziona, ma solo per il dominio principale.
    Ad esempio se volessi accedere a “http://miosito.it/forum/” non esegue direttamente il redirect a “http://www.miosito.it/forum/”
    Hai qualche suggerimento ? Grazie

  13. se digito “http://miosito.it/forum/” non reinderizza in “http://www.miosito.it/forum/”. Lo fa solo se richiamo il dominio principale “http://miosito.it” -> “http://www.miosito.it”. Grazie

  14. dovrebbe funzionare invece. cosa fa se provi a visitare miosito.it/forum/ ?

Trackbacks

  1. […] Alla fine, anche io ho deciso di usare Feedburner per i miei feed. Ma tranquilli, non dovrete aggiornare i vostri aggregator, dato che ho usato un bel Redirect 301 Ma perchè sono passato a Feedburner? Beh, tutto è nato dalle discussioni relative alla classifica dei blog italiani realizzata da Ludo, e al peso da assegnare ai vari parametri presi in esame (è stata creata una apposita lista). In queste discussioni, ` stata evidenziata la necessità di riuscire in qualche modo a misurare anche il traffico dei lettori tramite feed aggregator. Ed ecco il nesso con Feedburner Io controllo sistematicamente le statistiche di accesso dei miei siti, ma ammetto che non mi ero mai curato troppo degli utenti che leggono via feed. Shame on me, si. Ho allora deciso di dare un’occhiata molto veloce e molto sommaria ai log di apache relativi al mio feed, ed i numeri mi hanno sorpreso un po’. Sia chiaro, nulla di eccezionale, anche perchè devo tenere ben presente che un feed aggregator può anche fare un refresh del feed ogni 20 minuti… (hey, non scrivo così tanto… ). Per intenderci, un: grep feed access.log|wc -l […]

  2. […] Qualcuno di voi l’avrà sicuramente già notato. Ad ogni modo, da un po’ di tempo sto usando un plugin per WordPress, Top 10 posts and Views per post, che mostra i post più letti del blog (lo trovate in basso, sulla destra). Premesso che comunque se fosse da considerare un sistema di statistiche sarebbe troppo grezzo, dato che conta ogni singolo hit, è comunque curioso scoprire come il post più letto sia quello (sulla bufala) sull’olio di colza. Poi, ora è passato un po’ il tormentone, ma anche il messenger di Moggi era tra i post più letti in assoluto. Che dire… hai voglia a parlare di redirect 301, a istigare a del sano Google bombing, o spiegare come usare Google Analytics con siti che hanno anche SSL. Olio di colza e messenger di Moggi. Questo interessa alla gente. O no? Technorati Tags: blog, plugin, wordpressCondividi con gli altri:These icons link to social bookmarking sites where readers can share and discover new web pages. […]

Speak Your Mind

*