www.domena.pl/podstrona.php?strona=4
Oczywiście przerobiłem to do ładnej formy, czyli:
www.domena.pl/podstrona,4.php
ale fizycznie korzystałem wciąż z tych samych plików, więc zastosowałem regułki w stylu:
# przepisuje wywołanie z GET na nice url ze statusem 301 # bez L też działa, ale dla pewności, że zakończy tu i od nowa poleci po regułach... RewriteCond %{QUERY_STRING} ^strona=([0-9]+)$ RewriteRule ^podstrona.php$ /podstrona,%1.php? [R=301,L] # a tu wskazuję, by taki nice url wciąż korzystał ze starego wywołania RewriteRule ^podstrona,([0-9]+).php$ podstrona.php?strona=$1 [L]
Na starym hostingu działało to, ale niestety przy przenosinach okazało się, że na nowym całość się zapętla, choć flaga L powinna zatrzymać przetwarzanie reguł. Problem w tym, że następuje wciąż przekierowanie po drugiej z reguł i całość wpada w pętlę. Gdybym usunął pierwszą regułę (z warunkiem) - zadziała. Ale chciałbym tego uniknąć, gdyż ze względów SEO chcialbym użytkownikom dać możliwość wejścia na stronę w przypadku użycia starego formatu adresu.