Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [htaccess] przekierowanie na podstawie REQUEST_URI
Forum PHP.pl > Forum > Serwery WWW
wewior
Nie wiem gdzie popełniam błąd, już tego nie widzę więc proszę o pomoc:
Chcę żeby adres http://domena.pl/test/katalog/?category=1 przekierowywal na http://domena.pl/test/?new_category=1

Więc zrobiłem w .htacces coś takiego:
RewriteCond %{REQUEST_URI} (.*)category=(.*)
RewriteRule (.*)category=(.*) http://%{HTTP_HOST}/test/?new_category=$2 [R=301,L]
i wrzuciłem do katalogu "test/katalog/".
Ktoś może mnie nakierować jak to zrobić?
Waju
Przypadkiem natknąłem się na taką informację, że to co jest po znaku zapytania nie znajduje się w "REQUEST_URI", a w "QUERY_STRING". Nie wiem, czy to pomoże.
BaN
@Waju ma rację, a popełniasz błąd w przypuszczeniach, że REQUEST_URI zwiera adres z parametrami. Cytat z dokumentacji:
Cytat
REQUEST_URI
The path component of the requested URI, such as "/index.html". This notably excludes the query string which is available as as its own variable named QUERY_STRING.


Zatem powinno być cos w tym stylu:
Kod
RewriteCond %{REQUEST_URI} ^/test/katalog/$
RewriteCond %{QUERY_STRING} ^(.*)category=(.*)$
RewriteRule .* http://%{HTTP_HOST}/test/?%1new_category=%2 [R=301,L]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.