Creare redirect 301 con file htaccess.



(Aggiornato il 10/02/2024)
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.

SCEGLI L’HOSTING PER WORDPRESS MIGLIORE !

Per avere un sito performante bisogna utilizzare un hosting performante
e il migliore del 2022 è Siteground !

In PROMO a 3.99 € al mese

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 sei esperto e non ti senti sicuro nell’eseguire queste operazioni non ti 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/

Inserisci 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 inserisci il nuovo redirect url, assicurati 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 puoi intuire il codice sopra riportato segnala sempre un redirect htaccess 301 permanente.

In caso abbiate installato certificato SSL ricordatevi di usare https !

1) Reindirizzamento da WWW a senza WWW:

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

2) Redirect da senza WWW a WWW:

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

(altro codice stesso risulato)

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

3) 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]

(altro codice stesso risulato)

	RewriteCond %{HTTP_HOST} ^(www\.)?vecchio-dominio\.com [NC]
	RewriteRule (.*) http://nuovo-dominio.com/$1 [R=301,L]

4) 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]

5) 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]

6) Redirect da vecchia cartella verso nuova cartella:

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

7) Redirect da cartella a nuovo dominio ma stessa cartella:

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

8) Redirect da cartella verso la cartella root principale:

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

Di seguito un esempio contenuto all’interno di un file htaccess che include il codice di default di wordpress e un redirect 301.

# 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 /vecchio-link http://www.miosito.it/nuovo-link

FILE HTACCESS DI DEFAULT WORDPRESS

Segue codice contenente le istruzioni di default all’interno del file htaccess di wordpress.

NOTA: Se volessi rigenerare il file .htaccess in modo veloce con all’interno le impostazioni di default ti basta cancellare il file htaccess tramite FTP oppure dal gestore di file del pannello di controllo del servizio hosting, poi andare alla sezione “Permalink” all’interno del pannello di controllo di WordPress e cliccare su “Salva le modifiche”, senza effettivamente modificare nulla, devi solamente cliccare il pulsante “Salva le modifiche”, questo trucchetto rigenera un nuovo file htaccess pulito e con impostazioni di default.

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

GENERATORE CODICI REDIRECT ONLINE:

Qui di seguito puoi eventualmente utilizzare uno dei tools online per generare codici redirect secondo necessità.

Il sito più conosciuto e utilizzato è: htaccessredirect


Vietata la Riproduzione.
Protezione Copyright

1 commento(i) deveno essere approvati.
81 commenti
  1. Sonia dice:

    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

    Rispondi
  2. carlo dice:

    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

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  3. Leonardo dice:

    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

    Rispondi
  4. Gianna dice:

    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

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  5. patrick dice:

    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

    Rispondi
    • Admin-Fausto dice:

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

      Rispondi
  6. patrick dice:

    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

    Rispondi
  7. Erman dice:

    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

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  8. Erman dice:

    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. :(

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  9. Andrea dice:

    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

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  10. Pasquale dice:

    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.

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  11. andrea dice:

    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 :-)

    Rispondi
    • Admin-Fausto dice:

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

      Rispondi
  12. Vincent dice:

    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!

    Rispondi
  13. Fabio dice:

    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.

    Rispondi
  14. Antonio dice:

    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.

    Rispondi
    • Admin-Fausto dice:

      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 ?

      Rispondi
  15. Antonio dice:

    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.

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  16. marcol1 dice:

    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.

    Rispondi
  17. Vincenzo Maddaluno dice:

    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.

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  18. Cristina dice:

    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

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  19. Cristina dice:

    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?

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  20. Leonardo dice:

    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

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  21. Leonardo dice:

    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?

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  22. Marco dice:

    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..

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  23. Gennaro dice:

    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à.

    Rispondi
    • Admin-Fausto dice:

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

      Rispondi
  24. Daniele dice:

    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

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  25. Claudia dice:

    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!

    Rispondi
    • Admin-Fausto dice:

      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.

      Rispondi
  26. Claudia dice:

    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.

    Rispondi
    • Admin-Fausto dice:

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

      Rispondi
  27. elisabetta dice:

    ciao Fausto,
    ho seguito le tue indicazioni per fare il redirect da un dominio vecchio ad un dominio nuovo e funziona ma ho problemi con i link molto annidati.

    Ho usato questo codice:

    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]

    Il problema lo riscontro con URL di questo tipo
    http://www.vecchiodominio.com/2015/09/15/page/6

    Benchè io inserisca la seguente riga nel file .htaccess
    redirect 301 /2015/09/15/page/6 https://www.nuovodominio.it

    Il redirect non funziona e mi porta alla seguente URL
    https://www.nuovodominio.it//page/6

    Hai un’idea del motivo? devo specificare delle regole particolari?
    Grazie

    Rispondi
    • Admin-Fausto dice:

      Salve Elisabetta, purtroppo anche se di queste cose un po’ ne capisco non sono ancora diventato un indovino, senza vedere il file htaccess completo e senza poter mettere mano al sito, specialmente ai file di log, è impossibile per me capire cosa ci sia che non funzioni, il redirect che hai inserito è corretto. Ciao.

      Rispondi
  28. Mario dice:

    Ciao, tutto chiarissimo, complimenti, ho solo un dubbio.Immaginiamo di avere il vecchio sito su pippo.it e volerlo spostare in toto su pluto.it per installare su Pippo.it un differente progetto.Facendo un redirect 301 dell’intero sito non potrei più ospitare nulla su pippo.it?Anche stando attento ad usare solo indirizzi non reindirizzati avrei comunque il problema con la home pippo.it, o sbaglio?
    Grazie!

    Rispondi
  29. NICK dice:

    Ciao, ottimo tutorial che ci ha permesso di risolvere più di qualche errore. Sfortunatamente non riusciamo a risolvere questo redirect… dobbiamo trasferire tutti i prodotti di una sotto categoria alla sotto categoria madre di un altro sito…es:

    veccio-sito/vecchia-categoria-prodotto/prodotto1

    nuovo-sito/nuova-categoria/

    C’è qualche soluzione? Grazie per la collaborazione. NICK

    Rispondi
    • Admin-Fausto dice:

      Salve Nick, provato i vari tool online generatori htaccess ? Se stiamo parlando di creare redirect per singoli prodotti ad una specifica categoria non è cosi semplice, bisognerebbe fare qualche tentativo con codici diversi, a seconda dei prodotti in questione si potrebbero reindirizzare singolarmente ad una singola categoria. Ciao.

      Rispondi
  30. Alberto dice:

    Ciao e grazie per questa guida!
    Come posso far eseguire il redirect 301 anche se digito li miovecchiodominio.it senza il WWW davanti?
    Se NON digito il WWW prima del nome host, mi da errore di pagina non trovata e non avviene il redirect.

    Rispondi
    • Admin-Fausto dice:

      Ciao Alberto, trovi il codice al numero 2, anche se mi sembra tu abbia già risolto. A seconda dell’hosting che utilizzi all’interno del pannello di controllo c’è la possibilità di settare questa impostazione, generalmente si trova sotto a “impostazioni hosting”. Ciao.

      Rispondi
  31. Francesco dice:

    Ciao, non ho ben capito come fare un “Redirect da dominio secondario verso il dominio principale”. Io posseggo domini senza host e vorrei puntassero a quello appunto all’unico online, ma il risultato è che ogni pagina appare con il propria estensione con il rischio di creare contenuti duplicati. Grazie per l’attenzione.

    Rispondi
    • Admin-Fausto dice:

      Salve Francesco, se non hai un pacchetto hosting e vuoi fare quello che hai descritto devi almeno avere un servizio “redirect” fornito insieme al nome dominio che hai acquistato oppure un servizio “DNS” da per impostare per reindirizzare il dominio verso un’altro. Non è possibile in questo caso utilizzare il file htaccess. Ciao.

      Rispondi
  32. Max dice:

    Ciao complimenti per questa completissima guida! Non ho trovato o non sono riuscito a capire cosa dovrei nel mio caso…
    Vorrei cambiare la struttura dei permalink da https://www.miosito.com /%postname%/ a https://www.miosito.com /%postname%/%post_id%/ in sostanza vorrei aggiungere in fondo alle attuali URL il post_id per rendere ogni URL “unico” in previsione a una domanda di inclusione a Google News.
    Il primo passaggio mi è chiaro, ma non so come impostare un redirect 301 generico da inserite nell’ htaccess dalla vecchia struttura a quella nuova.
    Ho installato il plugin Redirection. Quale comando unico posso dare? È una manovra rischiosa a livello SEO? Secondo te perderei i miei posizionamenti?
    Grazie mille comunque!

    Rispondi
  33. Stefano dice:

    Salve, vorrei chiedere un’info: ho usato il comando redirect 301… su file htaccess per reindirizzare un url su altro url. Che comando dovrei indicare per fare in modo che il nuovo url si possa aprire su altra scheda?
    Grazie mille e buona serata.

    Rispondi
    • Admin-Fausto dice:

      Ciao Elisa, prova cosi e fammi sapere per favore.

      RewriteEngine On
      
      RewriteCond %{HTTP_HOST} ^(www\.)?esempio\.com$ [NC]
      RewriteRule ^pagina-uno/$ http://sito.esempio.com/pagina-uno/ [R=301,L]
      
      Rispondi
  34. mimmo dice:

    buon giorno
    il mio sito ha la struttura articoli/pagine con il pemalink
    Data e nome /2022/06/22/articolo-di-esempio/

    vorrei cambiarlo con al posto della data, la categoria
    vorrei poi fare il redirect 301 su htaccess

    ma ho paura di commettere errori … mi aiuteresti a formulare il comando? Grazie

    Rispondi

Lascia un Commento

Vuoi partecipare alla discussione?
Sentitevi liberi di contribuire!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *