Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przyjazne URL-e - nieznana liczba parametrów, mod_rewrite
czachor
post
Post #1





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,
mam następujący problem...

URL na wejściu:
Kod
www.site.com/akcja/jakasWartosc


Ta regułka działa:
Kod
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([^/]+)/([^/]*)/?$ /index.php?action=$1&actionData=$2 [L]


Czyli otrzymuję:
Kod
www.site.com/index.php?action=akcja&actionData=jakasWartosc


Sprawa wygląda tak, że chcę zrobić to trochę inaczej... Na wejściu mam:
Kod
www.site.com/akcja/parametr1/wartoscParametru1/parametr2/wartoscParametru2/...
//lub łatwiej chyba:
www.site.com/akcja/parametr1;wartoscParametru1/parametr2;wartoscParametru2/...


Problem:
liczba par parametrN/wartośćParametruN jest zmienna. Nie wiem jaką regułkę zastosować (o ile to możliwe), żeby na wyjściu było:
Kod
www.site.com/index.php?action=akcja&parametr1=wartoscParametru1&parametr2=wartoscParametru2&...


Wolałbym to zrobić przez mod_rewrite jeśli jest to możliwe niż w php...
pozdr. i z góry dzięki za wszelkie podpowiedzi!

Pozwalam sobie odświeżyć temat. Odłożyłem sprawę na jakiś czas, ale znowu muszę się tym zająć. Jakby ktoś mógł mi pomóc, będę wdzięczny.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Mialem podobny problem:
http://forum.php.pl/index.php?s=&showt...st&p=417007

kazano mi to w php juz zrobic
Go to the top of the page
+Quote Post
czachor
post
Post #3





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mhm. A to szkoda. Chociaż ostatni post @sf niesie pewną nadzieję (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) W każdym razie dzięki.

Ale gdyby ktoś wiedział, jak to ruszyć, to byłbym wdzięczny (@nospor zapewne też (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ).

-----
W tej chwili zrobiłem tylko coś takiego (sugerując się sposobem @nospora):
Kod
RewriteEngine On
RewriteRule ^([^/]+)/([^/]*)/*([^/]*)/*([^/]*)/*([^/]*)/*([^/]*)/*([^/]*)/*([^/]*)/*([^/]*)/*$ ?action=$1&$2=$3&$4=$5&$6=$7&$8=$9 [L]


Co mogę:
Kod
http://localhost/action/p1/v1/p2/v2/p3/v3/p4/v4/
=> http://localhost/$action=action&p1=v1&p2=v2&p3=v3&p4=v4


Czyli mogę podawać do 4 par "parametr=wartość" i do tego nazwa akcji. Trochę kiepskie rozwiązanie, bo jak podam więcej niż 4+1, to mam błąd 404 (nie da się zrobić parametrów > "$9", "$10"). Na szczęście u siebie nie będę miał nigdy więcej niż 4+1, więc jest w miarę dobrze, no ale to nie jest do końca dobre rozwiązanie...
Go to the top of the page
+Quote Post
andrzejmarek
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.02.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Wpisuj wszystko do jednej zmiennej, a już w PHP zrób explode na tym.

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 23:23