Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] Mod Rewrite zamiana query string na ładny url
Forum PHP.pl > Forum > Przedszkole
Kerry
Cześć,

mam problem z zamianą query string na ładny url chcę, żeby po index.php następne dwa miejsca były wartościami odpowiednich zmiennych.

Przykład:

http://hostname/?a=123&b=321

zamiana na

http://hostname/123/321

i w skrypcie index.php dostajemy tablice $_GET[ 'a' => 123, 'b'=>321 ] próbuje zrobić, to tak jak poniżej

  1. RewriteEngine On
  2.  
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5.  
  6. RewriteCond %{QUERY_STRING} a=(.*)&b=(.*)
  7. RewriteRule ^ %{REQUEST_URI}/%1/%2 [R=301,L]


niestety bez pozytywnych rezultatów w jaki sposób można osiągnąć moje założenia?.
Sephirus
Jeśli dobrze rozumiem to chcesz przekierowywać adresy typu http://hostname/?a=123&b=321 na http://hostname/123/321

Kombinowałbym w ten sposób:

Kod
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule \?a=([0-9]+)\&b=([0-9]+)  /$1/$2 [R=301,L]
nospor
No ale to nie do tego sluzą ladne url....

One nie zamieniają
http://hostname/?a=123&b=321
na
http://hostname/123/321

Tylko robią na odwrot
Zamieniają
http://hostname/123/321
na
http://hostname/?a=123&b=321

Wiec panie kolego ty w swoim skrypcie masz generowac takie linki
http://hostname/123/321
I ktos kto bedzie w nie klikal, bedzie "niewidzialnie" przekierowany na
http://hostname/?a=123&b=321
i wowcas wszystko bedzie dzialac jak trza
Sephirus
Wydaje mi się, że autorowi chodziło o to aby w razie wejścia na link z "getami" było automatyczne przekierowanie na "ładny" - faktycznie jednak linki w formie z "getami" nie powinny być nigdzie pokazywane.
nospor
@Sephirus nawet jesli by to zadzialalo, a pewnie nie, to przeciez wowczas by sie zapetlil bo by ciagle przekierowalo z linkow z getami na bez, bo z linkow bez getow na z getami itd...
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.