2012-01-21 5 views
7

Używam następujący kod do przekierowania ruchu na stronie Spesific (ten ruch idzie przez google ze starej witryny, które używałem moje serwery ip)Zdjąć łańcuch zapytania z adresu URL, które zostało przekształcone z htaccess

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

Jak rozumiem, ten ^viewtopic.php?/?$ powinien usunąć ciąg zapytania, ale nie działa. Każda pomoc doceniona.

Przykład URL

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

wyjścia kiedy przekierowany

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

Odpowiedz

19

Byłaś blisko odpowiedzi ... Masz ? po niewłaściwej stronie. Umieścić go na stronie przekierowania do odpędzenia ciąg kwerendy:

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

W przekierowanie 301, mod_rewrite zwykle dołączyć pełny ciąg kwerendy. Ale umieszczenie ? na końcu przepisanego adresu URL bez odpowiadającej mu flagi [QSA] ("querystring append") spowoduje, że zamiast tego użyje on pustego ciągu zapytania, który podałeś.