Realizzazione e Creazione Siti Wordpress

Creare redirect 301 con file htaccess.



(Aggiornato il 30/05/2016)
In questo articolo vedremo come fare un redirect 301 tramite file htaccess, ovvero un redirect permanente (moved permanently) per comunicare agli spider dei motori di ricerca gli status code che indicano delle modifiche nella struttura di un determinato url, in questo modo il vecchio url modificato verrà reindirizzato alla struttura del url nuovo e corretto.

Creare un redirect htaccess è il modo piu semplice e funzionale per risolvere eventuali errori tra i piu conosciuti ad esempio il 404 (not found) risorsa non trovata.


I reindirizzamenti che si possono eseguire impostando i redirect htaccess sono diversi e molteplici e ogni redirect che faremo segnalerà ai motori di ricerca uno specifico codice di intestazione.

Se non siete in grado o non vi sentiti sicuri nell’eseguire queste operazioni non vi preoccupate perche è disponibile la soluzione a questo problema facile anche per i neofiti, basta utilizzare il plugin redirection per creare redirect in automatico.

Le ragioni per impostare redirect 301 possono essere diverse:

  • Redirect da vecchio nome dominio a nuovo nome dominio.
  • Redirect da dominio secondario verso il dominio principale.
  • Reindirizzamento da vecchio sotto dominio a nuovo sotto dominio.
  • Reindirizzare dominio da sotto cartella ad altra sotto cartella.
  • Impostare la struttura del dominio con www oppure senza www.

Nello specifico non sarà il file htaccess a segnalare agli spider il redirect ma forniranno, tramite risposta del server Apache, una risposta che verrà interpretata come valida e interpretata come un redirect url.

Stiamo parlando di redirect htaccess su server Apache basati su linux, quindi queste istruzioni non sono valide per chi utilizza windows.

CODICI REDIRECT FILE HTACCESS:

Il codice seguente cosi come impostato crea un redirect 301 per far puntare una pagina ad un’altra a cui ad esempio avete appena modificato la struttura del link con una nuova struttura.

redirect 301 /articolo-esempio-vecchio/ http://www.nomemiosito.it/articolo-esempio-nuovo/

Inserite il codice redirect htaccess come sopra riportato nel file .htaccess, il numero 301 sta ad indicare che sarà un reindirizzamento permanente a differenza ad esempio, di un redirect 307 che indica un reindirizzamento temporaneo (temporary redirect).

Subito dopo il numero “301” inserite il vecchio url e subito dopo inserite il nuovo redirect url, assicuratevi che tra i due url ci sia uno spazio.

Attenzione che al primo url (quello vecchio) non sia riportato con “http://www” mentre dovrà essere inserito per quello nuovo.

Diverso codice ma stessa funzione:

 
redirect permanent /index.html http://www.miosito.it/index.html

Come potete capire il codice sopra riportato segnala sempre un redirect htaccess 301 permanente.
 

Reindirizzamento da WWW a senza WWW:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

 

Redirect da vecchio dominio a nuovo dominio

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.vecchiodominio\.com$
RewriteRule (.*) http://www.nuovodominio.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^vecchiodominio\.com$
RewriteRule (.*) http://www.nuovodominio.com/$1 [R=301,L]

 

Redirect da vecchio sotto dominio a nuovo sotto dominio

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sottodominio.vecchio.com$ 
RewriteRule ^(.*)$ http://sottodominio.nuovodominio.com/$1 [R=301,L] 
RewriteCond %{HTTP_HOST} ^www.sottodominio.vecchiodominio.com$ 
RewriteRule ^(.*)$ http://sottodominio.nuovodominio.com/$1 [R=301,L]

 

Redirect da vecchio dominio a nuovo sotto dominio

RewriteEngine on
RewriteRule ^(.*)$ http://www.your-new-domain.com/$1 [R=301,L]

 
OPPURE PROVARE:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)$ http://www.nuovosito.com/$1 [R=301,L]

 

Redirect da vecchia cartella verso nuova cartella:

RewriteRule ^vecchiacartella/(.*)$ /nuovacartella/$1 [R=301,NC,L]

 

Redirect da cartella verso nuovo dominio ma nella stessa cartella:

Redirect 301 /cartella http://www.nuovodominio.com/stessacartella

 

Redirect da cartella verso la cartella root principale:

RewriteRule ^cartella/(.*)$ /$1 [R=301,NC,L]

In ultima, posto il codice finale di esempio contenuto all’interno di un file htaccess che include il codice di default di wordpress piu un redirect 301.
 

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
#redirect
redirect 301 /vecchio-link http://www.miosito.it/nuovo-link


GENERATORE CODICI REDIRECT ONLINE:

Qui di seguito potete utilizzare dei tools online per generare codici redirect secondo necessità.

Il sito più conosciuto e utilizzato è: htaccessredirect

Articoli interessanti:





Vietata la Riproduzione.
Protezione Copyright

Come impostare redirect 301 tramite file htaccess ultima modifica: 2012-05-18T21:03:35+00:00 da Admin-Fausto
57 Commenti
  1. E se gli indirizzi fossero molto più di uno? Ad esempio se io volessi reindirizzare le pagine di wordpress che hanno questa struttura
    nomesito.com/page/2
    nomesito.com/page/3
    nomesito.com/page/4
    nomesito.com/page/5

    sempre verso la pagina principale nomesito.com come dovrei fare senza scrivere decine e decine di redirect?
    Grazie

    • Salve Sonia. Dipende per cosa stai cercando questa soluzione, le pagine sono già state generate?

  2. Salve e grazie per la condivisione.
    Io ho effettuato un redirect del nuovo nome dominio a una pagina preesistente (che uso come landing page del servizio specifico gia pronta) da Cpanel (ha modificato il file .htaccess correttamente)

    Ora avrei bisogno però di visualizzare nella URL bar, non l URL vecchio (il permalink WP) ma il nome dominio nuovo.
    Non mi sembra facile la soluzione. Potete aiutarmi?
    grazie

    • Salve Carlo, non mi è molto chiara la situazione, senza vedere il sito è complicato. Se nel nuovo nome dominio è presente solo la landing page potrebbe essere una soluzione utilizzarla come “Pagina statica/pagina iniziale” impostandola sotto la sezione “Impostazioni-lettura”. Ciao.

  3. Salve volevo un aiuto se è possibile devo lavorare ad un nuovo sito in WordPress ma nel frattempo il cliente vuole che si veda il sito vecchio e non una pagina di manutenzione. Ho provato ad usare un redirect htacces visto su questo sito ma non funziona per quello che devo fare io. Mi sapreste dare un suggerimento di come fare. Grazie anticipatamente

    • Salve Leonardo, l’unico modo è creare il nuovo sito in un sotto dominio oppure lavorare in locale. Ciao.

  4. Salve, il mio errore iniziale invece è stato quello di lasciare i permalink di default mentre invece a me servirebbe ottenere nomesito/web/titoloarticolo
    Se cambio scombino tutto secondo te?
    Grazie
    Gianna

    • Salve Gianna, ovviamente si “scombina” tutto, modificando la struttura permalink bisognerà preoccuparsi di creare dei reindirizzamenti per tutti i permalink con struttura vecchia alla nuova. Saluti.

  5. Salve, se volessi cambiare la struttura dei permalink da nomesito.it/index.php/%postname%/ a nomesito.it/%postname%/ ,
    esiste un modo per fare redirect di tutti gli articoli e pagine in una sola volta senza inserire tutto manualmente?
    Grazie

    • Salve Patrick, dipende, come è stato impostata questa struttura permalink con index.php ? tramite pannello di controllo “Struttura personalizzata” ?

  6. esatto, tramite struttura personalizzata. Sono riuscito a fare il redirect di tutto il contenuto (pagine e articoli) con il plugin Advanced redirect. Però se fosse possibile inserire una riga nel file .htaccess lo preferirei.
    Grazie

  7. Ottimo articolo. Grazie per la condivisione!!

  8. Buongiorno, ho letto con molto interesse l’articolo, perché ho un problema simile quelli descritti sopra e spero che mi sappiate dare un consiglio. Con alcuni amici abbiamo acquistato uno spazio e non essendo esperti abbiamo seguito le istruzioni per installare wordpress nella directory wp. Ora succede che entrando nel sito accedo al blog sole mente aggiungendo il wp nella barra url. C’è modo di poter reindirizzare all url principale?. Grazie anticipatamente per i consigli

    • Ciao Erman, il nome della cartella (directory) è “wordpress” e questo viene impostato quando si utilizza aruba che non permette di installare wordpress nella root utilizzando il tool per installare wordpress da pannello di controllo. Per fare quello che ti serve dovresti spostare i file dalla cartella “wordpress” alla root e reimpostare i link home e url nella tabella wp_options del database.

      Dopo aver dato uno sguardo veloce al tuo sito ti consiglio anche di leggere l’articolo in questo sito dove parlo di importazione permalink. Ciao.

  9. Buongiorno Fausto grazie per la veloce risposta. Credo che da poco aruba si serva di un nuovo servizio di installer che si chiama softacoulous e imposta la dir di wordpress proprio in wp. Difatti in uno dei due siti che utilizziamo la procedura eseguita con l’installer classico è andata a buon fine (Roverfoto.it) mentre con il nuovo (collettivo515) acquistato questa settimana il vecchio installer è sparito. Ho come l’impressione che pur essendo installato wordpress risulti come assente. 🙁

  10. Salve. Vorrei chiedere aiuto per risolvere un problema. Nel mio sito ho eliminato alcune pagine che voglio reindirizzare alla root del sito. Ho impostato il file htaccess in questo modo:

    Redirect 301 /sagre/sagra-delle-cozze/ http://miosito.com/

    ma mi reindirizza alla URL http://miosito.com/?id=sagra-delle-cozze mentre invece vorrei reindirizzare alla root del sito http://miosito.com/

    Mi potete aiutare? Grazie

    • Salve Giuseppe, impossibile aiutarti senza poter vedere tutte le altre eventuali configurazioni, modificare il file htaccess è una questione abbastanza delicata e se si sbaglia anche una virgola si creano una serie di problemi infiniti, inoltre per poterti fornire un codice funzionante esclusivamente per il tuo sito eventuali test devono essere fatti per forza di cosa sul tuo sito. Ciao.

  11. Salve, io voglio reindirizzare il mio sito www sul dominio da me preferito senza www.
    Se ho ben capito devo copiare ed incollare questo codice:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

    all’interno del file .httacess così com’è scritto o devo modificare qualcosa?
    E’ possibile farlo anche tramite la console di google, google webmaster tools?
    Grazie

    • Salve Andrea, si il codice da copiare all’interno del file htaccess è quello, ma a secondo del servizio hosting che utilizzi dovrebbe essere possibile configurare questa impostazione anche direttamente tramite pannello di controllo hosting. Ciao.

  12. Ciao Admin-Fausto, avrei una domanda sui redirect 301. La maggior parte delle volte parliamo di redirect 301 per siti appartenenti allo stesso proprietario, quindi diciamo di andare nel file htaccess o di configurare queste impostazioni nel pannello di controllo hosting. Ma se hai aperto un sito con quei servizi “tutto compreso”, se non rinnovi l’abbonamento, per passare ad un nuovo hosting (e wordpress come CMS) automaticamente non sarai in grado di impostare nessun redirect, perchè il sito sarà chiuso (tra l’altro in queste soluzioni “tutto compreso” spesso non hai accesso all’ htaccess…).

    Altra informazione, le url del vecchio sito sono dinamiche. Mantenendo comunque lo stesso dominio, è corretto dire che in questo caso i redirect si possono fare, tramite htccess o pannello controllo hosting del nuovo sito? Nella formula verrebbero scritte le parti finali delle vecchie url dinamiche e poi le nuove e complete url più seo-friendly.

    • Salve Pasquale, ovviamente per la tua prima domanda la risposta può essere solo affermativa. Per la seconda questione mantenendo lo stesso dominio sarà possibile impostare i redirect tramite htccess o pannello controllo hosting oppure da pannello di controllo wordpress utilizzando un plugin. Ciao.

  13. Ciao, mi chiedevo se fosse possibile fare un redirect massivo in htaccess un po’ particolare:
    ….ovvero se un indirizzo contiene una cartella “x” fare redirect sempre alla cartella “y” a prescindere da eventuali altre sottocartelle
    per es:
    1 miodominio/x/ va a miodominio/y/ ma stesso risultato se fosse 2 miodominio/x/z/ va a miodominio/y/

    oppure:
    3 miodominio/x/z/j/l/k/ va a miodominio/y/
    L’esigenza nasce dal fatto che migrando a wordpress mi sono ritrovato tutte le immagini in una sola cartella. Il che va anche bene, ma dovrei fare redirect semplicemente indicando che se nel percorso trovasse la cartella /vecchioarchivioimmagini/sottocartella/sottosottocartella/ecc/ mi vadano sempre in /unicacartellaimmagine/….non so se mi sono spiegato 🙂

    • Salve Andrea, se hai nomi di cartelle diverse devi fare un redirect alla nuova cartella singola per ogni nome cartella che vuoi reindirizzare. Ciao.

  14. …Peccato, pensavo che con una bella stringa avrei risolto. Grazie per la risposta Ciao

  15. Salve, sto smanettando con l’htaccess ma non riesco col mio problema..
    Vorrei che i post creati venissero pubblicati ad esempio così: miosito.com/articolo.html, vorrei aggiungere il .html solo ai post e non a tutte le pagine, premetto che ho già cercato in altri siti col redirect 301 ecc.. Modificare il file rewrite.php ma niente.. Come posso fare? Grazie in anticipo!

  16. Ciao, articolo molto interessante.
    Io personalmente avrei un problema in merito al restyling di un sito da wordpress a sito statico php su piattaforma Linux di Aruba.

    1) Occorre, in testa al file htaccess indicare qualcosa prima di scrivere tutte le regole di reindirizamento?
    2) Qual’è la sintassi per reindirizzare la home page?

    es.
    redirect 301 / http://www.nuovosito.com/index.php

    oppure per quella che era la versione inglese
    redirect 301 /en/ http://www.nuovosito.com/en/index.php

    Grazie mille e buon lavoro, Fabio.

    • Salve Fabio, nell’articolo è presente anche il codice per reindirizzare da vecchio dominio a nuovo dominio. Ciao.

  17. Ciao, ho trovato questo articolo molto utile è ben fatto, ho però problemi nel capire come integrarlo nella mia situazione. In pratica ho fatto un restyling del sito (sia il vecchio che il nuovo usavano wordpress) e alcune pagine sono state spostate su un sottodominio e, a complicare la situazione, nel nuovo sito le pagine hanno un anchor link del tipo “/info/#intro”. Il file htaccess contiene all’inizio le regole wordpress alle quali ho sempre aggiunto un semplce redirect 301. Adesso ho fatto una cosa simile ma non funziona. Metto un esempio nella speranza che mi puoi aiutare

    #bf protection

    order deny,allow
    deny from all
    Allow from 00.00.000.000

    # BEGIN WordPress

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

    # END WordPress
    redirect 301 /vecchia-pagina/ http://www.dominio.net/nuova-pagina/
    redirect 301 /vecchia-pagina/ http://sottodominio.dominio.net/nuova-pagina/#ancoraggio

    Oltre a non funzionare (invece di fare il redirect dà sempre pagina 404), in questo modo gli ancoraggi del nuovo sottodominio producono un errore “Questa pagina non indirizza in modo corretto”, mentre gli ancoraggi del sito principale funzionano.

    Sai dirmi come sistemare il file?
    Grazie.

    • Salve Antonio, scusa ma quale dei due redirect non funzione ? e in quale file htaccess hai aggiunto queste regole, nel dominio o nel sotto dominio ?

  18. Ciao, le regole sono state aggiunte al dominio principale. In realtà nessuno dei due redirect funzionava (così come gli altri, quelli che ti ho dato erano solo un esempio). Facendo varie prove mi sono accorto che c’è solo un tipo redirect che non funziona e rende non funzionante tutto il file:

    redirect 301 /vecchia-pagina/ http://sottodominio.dominio.net/

    Ho provato anche a modificare la pagina di destinazione con altre pagine interne del sottodominio o del dominio principale ma senza risolvere.
    I redirect che partono da una vecchia pagina composta da due elementi (/vecchia-pagina/elemento-uno) funzionano regolarmente.

    Grazie per la risposta e per l’interesse.

    • Salve Antonio, difficile aiutarti cosi a “tentativi” senza nemmeno vedere ne il sito ne altre modifiche che magari sono state fatte e/o plugin vari, il redirect cosi impostato è corretto e se non funziona ci deve essere qualcos’altro che interferisce, bisogna fare delle prove provando soluzioni diverse e nel caso iniziare a disattivare i plugin specialmente plugin che inseriscono regole nel file htaccess. Ciao.

  19. ciao e grazie per le info.
    se utilizzo il REWRITE da vecchiodominio a nuovodominio, questo vale per tutte le pagine interne o solo per la “index” (homepage del dominio)?
    La domanda che ti rivolgo è perchè vorrei cambiare dominio e cercavo il modo di reindirizzare alle pagine del nuovo sito tutte le pagine già negli indici di google.

  20. Salve, vorrei sapere a cosa si riferiscono questi valori, dovrei inserirli nel file htaccess secondo la guida di un tema wordpress

    Php_valute pot_Max_side 16M
    Php_valute upload_Max_filesize 16M
    Php_valute Max_file_uploads 32M
    Php_valute Max_input_var 5000

    Grazie in anticipo.

    • Salve Vincenzo, complicato spiegarli tutti, ed esempio “Php_valute upload_Max_filesize 16M” è un’impostazione che specifica la grandezza massima di un file in MB che è possibile caricare. Comunque non è sempre detto che inserendo queste impostazioni tramite file htaccess queste configurazioni vengano attivate, dipende tutto dal servizio hosting in questo caso Aruba.

      Nel caso specifico del “Php_valute Max_input_var 5000” dubito che Aruba su hosting condiviso permette questa impostazione, dovrebbe permettere al massimo 1500. Ciao.

  21. Capito, grazie… sono delle righe il proprietario del tema mi consiglia di inserire nel file htaccess le inserisco . Poi vedrò…

  22. ciao e grazie per l’articolo! Io devo correggere il mio htaccess perchè sono passatta da un sottodominio ad un altro (su Aruba) ed ora nelle ricerche google ho tanti problemi di errore 404. In pratica ha in memoria le vecchie pagine e nelle ricerche non trova ancora le nuove….Sicuramente ho sbagliato qualcosa ma è la prima volta che mi succede. Quindi vorrei che le pagine del vecchio sottodominio puntassero al nuovo. Se ad esempio il vecchio url era: cristina.it/home e il nuovo invece è cristina.it/car come devo scrivere il codice? E’ giusto così:
    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress

    #redirect
    redirect 301 /cristina.it/home http://www.cristina.it/car

    • Salve Cristina, no cosi non è corretto, nell’articolo c’è il codice che ti serve basta che guardi sotto al titolo: “Redirect da vecchio sotto dominio a nuovo sotto dominio”.

      Dai link che hai scritto nell’articolo non stiamo parlando di sotto dominio ma di cartella con nome diverso, questo redirect lo trovi sotto al titolo: “Redirect da vecchia cartella verso nuova cartella”. Ciao.

  23. scusa Fausto ma mi viene un dubbio: il nuovo sito ha lo stesso dominio del vecchio ma in una cartella di nome diverso. La vecchia cartella è stata eliminata. Il mio htaccess è corretto.

    È solo un problema di ricerca google. Lui mi riporta spesso alle vecchie pagine, quindi vorrei dire a google di puntare tutte le ricerche solo nella nuova cartella. Devo comunque modificare il file htaccess?

    • Salve Cristina, scusami ma le “magie” ancora non riesco a farle, senza vedere come è strutturato il sito e in particolar modo capire come è stato installato wordpress è impossibile aiutarti andando a “tentativi”.

      Prova ad utilizzare anche questo codice: RedirectMatch 301 /old-directory/(.*) /new-directory/$1

      Dipende anche di quante pagine stiamo parlando ? Puoi utilizzare questo plugin per inserire dei redirect. Non puoi “dire” a google dove puntare le ricerche. Ti ricordo inoltre che non basta fare solo i redirect, si dovrebbero inserire tutti i link non più funzionanti nel file robots.txt con impostazione “nofollow”. Ciao.

  24. Ciao Fausto, avrei un paio di questi da proporti a cui non ho trovato una soluzione, QUESITO 1:

    Ho spostato il mio vecchio sito web ww.miosito.eu in un dominio di secondo livello origine.miosito.eu e sulla root ci ho messo un nuovo sito web in wordpress.

    Ora ho inserito questo codice per reindirizzare i vecchi link che danno errore 404 sul nuovo sito web
    redirect 301 /esempio1.php ww.miosito.eu/esempio
    Il problema di questo codice è che mi reindirizza anche il link del dominio di secondo livello origine.miosito.eu/esempio1.php

    Quindi alla fine mi reindirizza tutti e due i link sottostanti
    ww.miosito.eu/esempio1.php
    origine.miosito.eu/esempio1.php

    Io invece vorrei fare il redirect solo al primo link e non al secondo.

    QUESITO 2:
    Vorrei reindirizzare più URL con un solo codice con RedirectMatch 301. Gli URl devono passare in automatico al dominio di secondo livello. Potresti postare una soluzione?
    Esempio:
    ww.miosito.eu/cartella/roma.php > secondolivello.miosito.eu/cartella/roma.php
    ww.miosito.eu/cartella/torino.php > secondolivello.miosito.eu/cartella/torino.php
    ww.miosito.eu/cartella/bari.php > secondolivello.miosito.eu/cartella/bari.php

    • Salve Leonardo, il problema nasce perché sulla root hai installato un’altro sito quindi con un file htaccess che gestisci il sito nella root dove prima c’era il sito che adesso è nel sotto dominio, quindi non puoi più inserire redirect sul file htaccess nella root per rimandare al sotto dominio o meglio, lo puoi fare ma nasce il problema che ti reindirizza anche quelli attuale sulla root ma con dominio diverso. Ciao.

  25. Quindi Fausto, non ci sarebbe una soluzione per reindirizzare solo questo link ww.miosito.eu/esempio1.php al nuovo link ww.miosito.eu/esempio, senza che venga reindirizzato anche il link con dominio di terzo livello origine.miosito.eu/esempio1.php?

    • Certo che è possibile ma in questo esempio che tu riporti stiamo parlando di fare un redirect da un nome dominio uguale a quello di destinazione, praticamente da articolo e/o pagina a cartella ma sempre per lo stesso nome dominio e poi scusa…

      prova ad utilizzare il tool online htaccessredirect, più facile di cosi…! Ciao.

  26. Complimenti per l’articolo, davvero ben fatto!
    Ho seguito le varie istruzioni e ho voluto fare un redirect per range di ip:

    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} ^91\.213\.141 [OR]
    RewriteCond %{REMOTE_ADDR} ^91\.62\.251 [OR]
    RewriteCond %{REMOTE_ADDR} ^91\.54\.96 [OR]
    #RewriteCond %{REMOTE_ADDR} ^2.31.175.
    RewriteRule (.*) http://www.google.it [R,L]

    Piccolo problema: sembra che il redirect interessi chiunque acceda al sito! Ho controllato la sintassi, ma non riesco a trovare errori..

    • Salve Marco, grazie dei complimenti. Il fatto che interessi tutti (o quasi) è dovuto dal fatto che hai utilizzato solo i primi 3 gruppi di un indirizzo IP mentre un indirizzo IP è composto da 4 gruppi (111.222.333.444). Ovviamente è possibile utilizzare anche solo i primi 3 gruppi ma bisogna essere coscienti che verranno reindirizzati indistintamente anche tutti gli utenti con il 4 gruppo che va da zero a 256.

      Un esempio pratico:
      indirizzo IP: 91.213.141.1 (viene reindirizzato)
      indirizzo IP: 91.213.141.2 (viene reindirizzato)
      indirizzo IP: 91.213.141.3 (viene reindirizzato)
      indirizzo IP: 91.213.141.4 (viene reindirizzato)

      Eventualmente prova:

      RewriteEngine on
      RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444
      RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444
      RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444
      
      RewriteCond %{HTTP_REFERER} !^http://www\.esempio\.com/ [NC]
      RewriteCond %{HTTP_REFERER} !^http://esempio\.com/ [NC]
      
      RewriteRule ^.*$ http://www.esempio.com [R=301,L]

      Ciao.

  27. Ciao e complimenti per l’articolo! Io mi ritrovo in questa situazione:

    -sito multilingua creato con WordPress e hostato su Aruba, che genera questo tipo di permalink miosito.it/?lang=it
    La società ha deciso di cambiare dominio scegliendo il .eu e differenziando le lingue in questo modo miosito.eu/fr/, miosito.eu/it/, miosito.eu/en/

    Mi sai dire come posso reindirizzare i permalink come miosito.it/?lang=it a miosito.eu/it/ ?

    Ho provato con un 301 ma non si attiva e non riesco a capire dove sbaglio. Grazie mille per la disponibilità.

    • Slve Gennaro, nella lista è presente il codice per Redirect da vecchio Dominio a Nuovo Dominio. Ciao grazie dei complimenti.

  28. Ciao
    Io sto cercando di inserire un 301 che vada dalla classica pagina index.php di wordpress a una categoria /home-page/ come devo fare?
    Il dominio è su aruba.. Thank’s

    • Salve Daniele non si è capito cosa devi fare, redirect che parte da dove ? e finisce dove ? comunque in elenco ci sono i redirect disponibili. Ciao.

  29. Devo fare un 301 da http://www.nomesito/index.php a http://www.nomesito/home-page/
    Ho usato un plugin per farlo perché dal file htaccess non riesco.

  30. Ciao Fausto, grazie mille per l’articolo! Ieri ho cercato di fare un 301 sui link del mio vecchio sito in giro per il web, di cui ho mantenuto e trasferito il dominio .it, al mio nuovo sito, con nuovo dominio.net (ora ho entrambi i domini presso lo stesso hosting e ho impostato un 301 con indirizzamento al nuovo sito nell’.htaccess del vecchio dominio). Fin qui tutto bene. Quando poi sono andata nell’.htaccess del nuovo sito per fare il redirect di tutti i link del vecchio sito, dopo alcuni salvataggi, tutte le pagine del nuovo sito tranne la home mi davano il 404. Ho risolto ripristinando un backup. Nel file .htaccess avevo inserito questo:

    E altri 100 link circa. Come puoi notare tutti gli articoli del blog li avrei indirizzati a http://claudiagalli.net/blog/

    Le vecchie pagine principali alle relative nuove pagine.

    Cosa ho sbagliato? C’è un modo per indirizzare tutti gli articoli del vecchio blog alla nuova pagina blog, senza farlo ad uno ad uno? Il plugin che suggerisci sopra è raccomandabile per questo lavoro?

    Grazie ancora in anticipo e perdonami per le troppe domande!

    • Salve Claudia, se il codice che hai inserito non funziona sicuramente hai inserito codice non corretto, in questo articolo c’è il codice da inserire che se guardi bene è diverso da quello che hai utilizzato. Comunque, prova a dare un’occhiata a questo tool di yoast che potrebbe fare al caso tuo. Ciao.

  31. Ciao Fausto, grazie della risposta 🙂
    Ho inserito il codice da link a link e funziona, ho fatto una prova non li ho inseriti tutti, anche perché non so quanti ne ho in giro. Mi piacerebbe ci fosse un modo per fare un redirect massivo…

    L’.htaccess sotto la root public html contiene questo:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

    e io ho aggiunto questo, come da generatore indicato sopra, che però non funziona:
    RedirectMatch 301 /1/(.*) http://claudiagalli.net//$1

    Questa è la forma dei vecchi link: /1/contatti_1841990.html

    Tutti i vecchi link iniziano con /1/, sia gli articoli che le pagine, quindi l’ho considerata una directory (non so se ho fatto bene…). Vorrei comunque che approdassero alla home del nuovo sito. Che stringa dovrei inserire? Ti ringrazio tanto per il prezioso supporto.

    • Salve Claudia, per fornire un redirect dovresti fornire il codice della vecchia struttura dei permalink, come era impostata ? con /%postname%/ ? con /%year%/%monthnum%/%postname%/ ?

  32. Ciao Fausto, grazie. Mi sono messa d’impegno e li ho inseriti uno a uno nell’.htaccess. Funziona tutto :- )

Lascia un commento