Trovata la soluzione mettendo ? alla fine della url
fonte: http://forum.html.it/forum/showthrea...readid=1302461

Dopo aver inserito ? il redirect funzionava ma la pagina dava un errore di loop di reindirizzamento, problema che si è risolto in questo modo:

1) elimando dalle url .html
2) togliendo la direttiva L dal primo rewriterule

In pratica abbiamo trasformato da così

RewriteCond %{HTTP_HOST} ^soluzionivacanze.com
RewriteCond %{QUERY_STRING} ^id=3$ [NC]
RewriteRule ^(.*)$ http://www.myweb.com/test.html [R=301,L]

a così

RewriteRule ^chi-siamo /pagine.php?id=3RewriteCond %{REQUEST_URI} ^/pagine\.php$RewriteCond %{QUERY_STRING} ^id=3$RewriteRule ^(.*)$ /chi-siamo? [R=301,L]

Spero possa essere utile a qualcuno







Quote Originariamente inviata da raffaele80it Visualizza il messaggio
Salve a tutti,
per effettuare il rewrite e il redirect degli url, stiamo attualmente utilizzando la direttiva RewriteRule ^chi-siamo /pagine.php?id=3 [R=301,L], ma stiamo notando dei problemi con il funzionamento del redirect.
In pratica ci stiamo accorgendo che il redirect avviene solamente dalle pagine riscritte (tipo da chi-siamo.html) alle pagine con query (che hanno all'interno ?id=3) e non viceversa.
Con nessuno dei comandi disponibili da htaccess si riesce a far funzionare il redirect al contrario, cioè da url con query a url riscritti.
Se si prova ad eliminare ?id=3 e riprovare il redirect, tutto funziona normalmente.
Abbiamo provato ad utilizzare anche questi comandi, ma senza ottenere alcun esito:
RewriteCond %{HTTP_HOST} ^soluzionivacanze.com
RewriteCond %{QUERY_STRING} ^id=3$ [NC]
RewriteRule ^(.*)$ http://www.myweb.com/test.html [R=301,L]

Grazie per l'attenzione.