2012-01-21 17 views
7

Sto utilizzando il seguente codice per reindirizzare il traffico verso una pagina spesific (questo traffico è in arrivo tramite Google da un vecchio sito che ha usato per usare il mio server ip)Rimuovere stringa di query da URL reindirizzato con .htaccess

RewriteRule ^viewtopic.php?/?$ http://www.myurl.org.uk/ [L,R=301] 

Come ho capito, questo ^viewtopic.php?/?$ dovrebbe rimuovere la stringa di query ma non funziona. Qualsiasi aiuto apprezzato.

Esempio URL

http://www.myurl.org.uk/viewtopic.php?f=3&t=44207&start=2265 

uscita quando reindirizzato

http://www.myurl.org.uk/?f=3&t=44207&start=2265 

risposta

19

Eri vicino alla risposta ... Hai la ? dalla parte sbagliata. Metterlo sul lato reindirizzamento per togliere la stringa di query:

RewriteRule ^viewtopic.php http://www.myurl.org.uk/? [L,R=301] 

In un reindirizzamento 301, mod_rewrite normalmente aggiungere la stringa di query completa. Tuttavia, posizionando uno ? alla fine dell'URL riscritto senza il corrispondente contrassegno [QSA] ("querystring append"), verrà invece richiesto di utilizzare la stringa di query vuota fornita.

Problemi correlati