Kawałek Kodu

Kluczysz, miotasz się jak szatan, uciekasz przez wszystkie podstrony serwisu, wracasz, a adres URL z którym biegniesz, nadal ciągnie za sobą ogon. Ogon w postaci query string.

Jak się go pozbyć przy przepisywaniu lub przekierowywaniu adresów URL?

Są dwa sposoby:

  1. Dodajemy znak zapytania na końcu wyrażenia regularnego reguły przepisywania/przekierowania.
  2. Dodajemy flagę [QSD] (query string discard). Flaga jest dostępna w Apache od wersji 2.4.

Niech przykładowy URL to: http://domena.pl/aaa/bbb?zmienna1=a&zmienna2=b
Zgodnie z pierwszą metodą reguła .htaccess będzie następująca:

RewriteRule ^(.*)$ %{REQUEST_URI}?

Korzystając z drugiej metody reguła będzie mieć postać:

RewriteRule ^(.*)$ %{REQUEST_URI} [QSD]

 

Przydatne linki:
Tester reguł .htaccess
Dokumentacja Apache (flagi)