- Home
- Categorie
- Coding e Sistemistica
- Hosting, Server e Domini
- come settare htaccess
-
come settare htaccess
Ciao a tutti,
dovrei fare una migrazione da sito vecchio.it a nuovo.it.Vorrei settare l'htaccess in modo da reindirizzare (301) alcune specifiche pagine del vecchio verso il nuovo mentre tutte le singole url non specificate vengano rimandate alla semplicemente alla home del nuovo sito.
Come lo compilo l'.htaccess?
Per intenderci vorrei che l'htaccess svolgesse questo:
- Questo è il sito vecchio ed è stato migrato verso il** sito nuovo**
- questa pagina si è trasferita a questo indirizzo
- questa pagina si è trasferita a questo indirizzo
- questa pagina si è trasferita a questo indirizzo
- ....
-Tutte le altre pagine del vecchio (a cui non ho assegnato un indirizzo specifico del nuovo) rimandale all'home page del nuovo sito
Ringrazio in anticipo
-
Nessuno?
-
@dmgius said:
Ciao a tutti,
dovrei fare una migrazione da sito vecchio.it a nuovo.it.Vorrei settare l'htaccess in modo da reindirizzare (301) alcune specifiche pagine del vecchio verso il nuovo mentre tutte le singole url non specificate vengano rimandate alla semplicemente alla home del nuovo sito.
Come lo compilo l'.htaccess?
Per intenderci vorrei che l'htaccess svolgesse questo:
- Questo è il sito vecchio ed è stato migrato verso il** sito nuovo**
- questa pagina si è trasferita a questo indirizzo
- questa pagina si è trasferita a questo indirizzo
- questa pagina si è trasferita a questo indirizzo
- ....
-Tutte le altre pagine del vecchio (a cui non ho assegnato un indirizzo specifico del nuovo) rimandale all'home page del nuovo sito
Ringrazio in anticipo
Da vecchio a nuovo dominio:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*)$ https://www.newdomain.com/$1 [R=301,L]Da pagina a pagina:
Redirect 301 /paginavecchia.html https://www.nuovodominio.com/paginanuova.html
Dovrebbero funzionare, fammi sapere!
-
In parte sembra funzionare:
- le pagine che non ho inserito vanno sulla homepage e ok
- i redirect che ho inserito con link tipo "olddomain.com/vecchio-link/" vanno dove devono andare (ma solo nella versione italiana, nelle altre lingue non funziona)
Non mi reindirizza correttamente i link tipo "olddomain.com/vecchio-link/?lang=de" verso "nuovodomain.com/nuovo-link/de/".
Si tratta di un sito multilingua dove nel vecchio sito, la versione italiana non ha il "/?lang=it" finale e i redirect funzionano correttamente, mentre i redirect delle versioni nelle altre lingue che terminano quindi con "/?lang=en", "/?lang=fr" o "/?lang=de"... mi rimandano all'homepage nonostante abbia indicato l'indirizzo di destinazione corretto.
Per intenderci ho fatto così:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*)$ https://www.newdomain.com/$1 [R=301,L]Redirect 301 /vecchio-link/ https://newdomain.com/nuovo-url/it/ <--- funziona correttamente
Redirect 301 /vecchio-link/?lang=de https://newdomain.com/nuovo-url/de/ <---- non va al link indicato ma alla homepage (de)
Intanto grazie mille per la risposta
-
Mi aveva messo dei codici strani nel post precedente. Riscrivo l'htaccess che sto utilizzando sperando che non riappaiono:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*)$ https://www.newdomain.com/$1 [R=301,L]Redirect 301 /vecchio-link/ newdomain.it/it/nuovo-link/ <--- funziona correttamente
Redirect 301 /vecchio-link/?lang=de newdomain.it/de/nuovo-link/ <---- non va al link indicato ma alla homepage (de)
-
In parte ci sono riuscito inserendo le seguenti regole nell'htaccess i reindirizzamenti funzionano correttamente.
Faccio presente che sul vecchio dominio la lingua di default è l'italiano, le altre (en,fr,es) hanno tutti il ?lang= finale.L'htaccess l'ho fatto così:
RewriteCond %{HTTP_HOST} ^vecchio-dominio.it$
RewriteCond %{QUERY_STRING} (^|&)lang=it($|&)
RewriteRule ^vecchia-root/vecchio-link1/$ nuovo-dominio.com/it/nuova-root/nuovo-link1 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link2/$ nuovo-dominio.com/it/nuova-root/nuovo-link2 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link3/$ nuovo-dominio.com/it/nuova-root/nuovo-link3 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link4/$ nuovo-dominio.com/it/nuova-root/nuovo-link4 [L,R=301]RewriteCond %{HTTP_HOST} ^vecchio-dominio.it$
RewriteCond %{QUERY_STRING} (^|&)lang=en($|&)
RewriteRule ^vecchia-root/vecchio-link1/$ nuovo-dominio.com/en/nuova-root/nuovo-link1 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link2/$ nuovo-dominio.com/en/nuova-root/nuovo-link2 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link3/$ nuovo-dominio.com/en/nuova-root/nuovo-link3 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link4/$ nuovo-dominio.com/en/nuova-root/nuovo-link4 [L,R=301]RewriteCond %{HTTP_HOST} ^vecchio-dominio.it$
RewriteCond %{QUERY_STRING} (^|&)lang=fr($|&)
RewriteRule ^vecchia-root/vecchio-link1/$ nuovo-dominio.com/fr/nuova-root/nuovo-link1 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link2/$ nuovo-dominio.com/fr/nuova-root/nuovo-link2 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link3/$ nuovo-dominio.com/fr/nuova-root/nuovo-link3 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link4/$ nuovo-dominio.com/fr/nuova-root/nuovo-link4 [L,R=301]RewriteCond %{HTTP_HOST} ^vecchio-dominio.it$
RewriteCond %{QUERY_STRING} (^|&)lang=es($|&)
RewriteRule ^vecchia-root/vecchio-link1/$ nuovo-dominio.com/es/nuova-root/nuovo-link1 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link2/$ nuovo-dominio.com/es/nuova-root/nuovo-link2 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link3/$ nuovo-dominio.com/es/nuova-root/nuovo-link3 [L,R=301]
RewriteRule ^vecchia-root/vecchio-link4/$ nuovo-dominio.com/es/nuova-root/nuovo-link4 [L,R=301]E' corretto? O devo aggiungere altre stringhe per un corretto redirect 301 del vecchio sito?
Vorrei che le pagine che non specifico nei vari "RewriteRule" delle diverse lingue rimandassero alla home del nuovo-dominio.com ma chiedo a voi se è corretto reindirizzare le pagine per cui non specifico verso la home o è consigliabile reindirizzarle diversamente.
Grazie
-
Nessuno?
-
No è che mi sembra che la discussione sia un duplicato di questa
anche se topic con nome differente aperti da utenti diversi.
Ci ho pensato un attimo, ho avuto come un Déjà vu... magari mi sbaglio.
Ma pare proprio una Rewrite Condition Sine Qua Non, come fosse Antani.