- Home
- Categorie
- Digital Marketing
- Posizionamento Nei Motori di Ricerca
- Redirect 301 vecchia pagina prodotto /nuova pagina prodotto
-
Redirect 301 vecchia pagina prodotto /nuova pagina prodotto
Salve e complimenti per il forum,
sto lavorando ad un sito ecommerce, passando alla nuova versione ho la necessità di reindirizzare i vecchi url per non perdere posizionamento, ho già impostato le regole in htaccess e molti link sono già funzionanti, quello che non riesco a risolvere e reindirizzare gli url dinamici della vecchia pagina prodotto alla nuova, riporto un esempio :redirect 301 /product_info.php?products_id=133&language=it miosito.com/index.php?route=product/product&path=72_73&product_id=89
Non posso pensare che non sia possibile reindirizzare le pagine dei prodotti ma che sia solo un mio limite.
Grazie
-
Quando ci sono dei parametri nelle URL devi usare RewriteCond con QUERY_STRING.
Esempio
RewriteEngine On RewriteCond %{REQUEST_URI} ^/paginetta\.php$ RewriteCond %{QUERY_STRING} ^p=([0-9]*)$ RewriteRule ^(.*)$ http://www.miosito.com/paginetta/%1 [R=301,L]
Se vuoi approfondire ci sono anche queste discussioni
-
Grazie per la risposta Juanin,
in riferimento all'esempio fatto ho impostato in questo modo :RewriteCond %{REQUEST_URI} ^/product_info.php$
RewriteCond %{QUERY_STRING} ^p=([0-9])$
RewriteRule ^(.)$ h**p://.miosito.com/product_id/%1 [R=301,L]ma mi da sempre questo errore : The page you requested cannot be found. ---- miosito/product_info.php?products_id=133&language=it
Dove sbaglio ?
-
Ovviamente come query string devi usare le tue e non quelle del mio esempio.
Tu hai products_id e language, non p.
-
Certo hai ragione, ma anche così :
RewriteCond %{QUERY_STRING} ^products_id=([0-9])$
RewriteCond %{QUERY_STRING} ^language=([A-Z])$
RewriteRule ^(.*)$ h**p://.miosito.com/product_id/%1 [R=301,L]mi dice sempre che non trova la pagina.
-
Devi specificare la request_uri.
-
si l'avevo fatto :
RewriteCond %{REQUEST_URI} ^/product_info.php$ ----> forse non è corretto ?
RewriteCond %{QUERY_STRING} ^products_id=([0-9])$
RewriteCond %{QUERY_STRING} ^language=([A-Z])$
RewriteRule ^(.*)$ h**p://.miosito.com/product_id/%1 [R=301,L]
-
Salve,
proprio non riesco a far funzionare questo redirect, c'è qualche altra anima pia che può aiutarmi ? Questa indicazione di Juanin mi pare quella giusta ma sicuramente sbaglio qualcosa.Grazie.
-
Sul tuo server hai attivo mod_rewrite?
Per più query string devi usare anche un operatore logico oppure [and]
-
Scusa il ritardo, certo il modulo è attivo, ma sono sicuro che sbaglio io qualcosa nella sintassi, ti riporto come ho impostato:
RewriteCond %{REQUEST_URI} ^/product_info.php$
RewriteCond %{QUERY_STRING} ^products_id=([0-9])[and]language=([A-Za-z])$
RewriteRule ^(.)$ h**p://vvv.miosito.com/product_id=%1 [R=301,L]Grazie.
-
Non preoccuparti Giorgio_67.
La condizione logica non si fa in quel modo.
Devi aggiungere 2 linee con QUERY_STRING collegate da operatore logico.