Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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.


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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ę winksmiley.jpg W każdym razie dzięki.

Ale gdyby ktoś wiedział, jak to ruszyć, to byłbym wdzięczny (@nospor zapewne też 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...


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:54