Redirect 301 su drupal da vecchio sito .aspx mediante .htaccess

6 contenuti / 0 new
Ultimo contenuto
Redirect 301 su drupal da vecchio sito .aspx mediante .htaccess

Salve a tutti,

In passato ho già avuto esperienze di redirect 301 su siti drupal tramite apache mediante .htaccess.
Tutto bene finchè si è trattato di pagine statiche.

Adesso mi trovo con questo problema, un sito le cui pagine hanno questa struttura:

/main/default.aspx?Action=profilo
/main/default.aspx?Action=archivio
ecc.

Ho usato questa regola per il redirect 301:

RewriteCond %{QUERY_STRING} ^Action=archivio$
RewriteRule ^main/default\.aspx$  http://www.miahomepage.it [R=301,L]

Il risultato è che il redirect va a buon fine ma nell'url mi trovo:

http://www.miahomepage.it/?Action=archivio (in pratica mi rimane nell'url la richiesta http)

A me invece serve un redirect pulito in http://www.miahomepage.it

Faccio presente che ho insetio la regola prima di quelle standard Drupal nell'.htaccess

Qualcuno ha esperienze in merito?
Ciao!

Prova con

RewriteCond %{QUERY_STRING} ^Action=archivio$
RewriteRule ^main/default\.aspx$  http://www.miahomepage.it/? [R=301,L]

Nota il ? alla fine dell'url miahomepage.it ...

Fonte: http://dranger.com/weblog/entry/apache_mod_rewrite_strip_query_string.html

Ho scoperto la cosa pochi minuti fa qui (leggere i commenti nel quarto box di codice) e stavo per postare il tutto:

in pratica il "?" alla fine dell'URL evita che venga riscritta la richiesta http

Grazie mille comunque... ma approfitto:

Avendo più pagine da redirigere sulla home come posso scrivere una singola condizione che preveda più possibili variabili?

Esempio: la pagina "archivio", "profilo", "servizi" tutte da rimandare nella nuova Homepage ma senza riscrivere le due righe riportate sopra per ogni link.

Grazie! ;)

Hai provato path redirect? E' un modulo semplice da usare e oi fare il redirect pagina per pagina velocemente.

Si lo conosco ma vorrei evitare di aggiungere altri moduli... la soluzioni .htaccess è più a basso livello!

Grazie comunque! ;)

Dovrebbe bastare quello sotto.. non ho provato cmq..

RewriteCond %{QUERY_STRING} ^Action=
RewriteRule ^main/default\.aspx$  http://www.miahomepage.it/? [R=301,L]

Se avessi tenuto il nome delle nuove pagine uguale avresti potuto prendere un pezzo della query string e metterlo come pezzo del redirect.

Esempio:

RewriteCond %{QUERY_STRING} ^sid=([^&]+)$
  RewriteRule mobile.php http://www.canalpda.com/node/%1? [L,R=301]