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.
Articoli interessanti:
- Compressione gzip per contenuto e file del sito
- Creare un’area protetta e riservata tramite file htaccess
- Configurare la cache del browser tramite file htaccess
- Bloccare spam tramite indirizzo Ip e file htaccess
- Bloccare l’accesso file importanti tramite file htaccess
- Introduzione file htaccess wordpress
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?
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.
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.
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.
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” ?
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
Ottimo articolo. Grazie per la condivisione!!
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.
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. :(
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.
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.
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.
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.
…Peccato, pensavo che con una bella stringa avrei risolto. Grazie per la risposta Ciao
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!
Salve Vincent, questa impostazione non va fatta tramite htaccess ma impostando una struttura permalink personalizzata. Ciao.
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.
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 ?
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.
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.
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.
Capito, grazie… sono delle righe il proprietario del tema mi consiglia di inserire nel file htaccess le inserisco . Poi vedrò…
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.
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.
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.
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.
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:
Ciao.
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.
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.
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.
Ok Daniele, il redirect da index.php a “home-page” funziona o lo hai fatto con un plugin, quindi vuoi farlo utilizzando il file htaccess ? nel caso è il secondo che trovi in lista “Redirect 301 http://www.miosito.com/index.php http://www.miosito.com/home-page/“
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.
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%/ ?
Ciao Fausto, grazie. Mi sono messa d’impegno e li ho inseriti uno a uno nell’.htaccess. Funziona tutto :- )
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
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.
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!
Salve Mario, no non sbagli.
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
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.
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.
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.
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.
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.
Ogni volta che ho un dubbio su come modificare il file htacces per il redirect visito questa pagina.
Alla ennesima volta, ti lascio almeno un grazie :-)
Grazie!
Ciao Simone e io ti ringrazio molto per averlo fatto. Ciao.
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!
Ciao Max, per la prima domanda vedi l’articolo dove parlo proprio di struttura permalink struttura permalink , che poi adesso Google non richiede più di avere un ID nel permalink per poter essere incluso in Google News. Per reindirizzare tutto verso i nuovi permalink prova a vedere qualche plugin come questo ad esempio. Ciao.
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.
Ciao Stefano, tramite htaccess per un redirect 301 non è possibile mi dispiace. Ciao.
Ciao Articolo Utilissimo.
nel caso in cui volessi fare i 301 solamente di quello che sta dopo/successivo in una cartella e reindirizzarlo verso la cartella stessa, ad esempio:
https://www.miosito.com/it/realizzazioni/inside-out
su
https://www.miosito.com/it/realizzazioni/
Ho provato ad inserire:
Redirect 301 /it/realizzazzioni/* https://www.miosito.com/it/
Ma non succede nulla
Grazie
Ciao Marco in effetti cosi non è corretto, hai provato con il plugin redirection ? Ciao
Ciao, purtroppo non è wordpress..sito custom: hai qualche idea?
Grazie ancora
Prova cosi e fammi sapere.
Confermo che questo è corretto, l’altro non reindirizzava la cartella in maniera corretta.
Ciao, vorrei impostare una redirect da un dominio:
ad esempio https://www.miosito.com/pagina-uno
ad un sottodominio come https://www.sottodominio.miosito.com/pagina-uno
potresti consigliarmi lo script da utilizzare?
Grazie
Ciao Elisa, prova cosi e fammi sapere per favore.
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
Ciao Mimmo, usa la strada più semplice ovvero usa il plugin redirection, poi leggere la guida cliccando qui. Ciao.