![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 3 Dołączył: 27.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
czy jest może jakiś sposób, żeby dowiedzieć się, która zmienna z $_GET pochodzi z mod_rewrite? przykładowo mam adres strony: http://example.com/wartosc1/wartosc2/?para...param4=wartosc4 co jest równoznaczne wywołaniu http://example.com/index.php?param1=wartos...param4=wartosc4 czy da się rozróżnić, że param1 i param2 są z mod_rewrite, a param3 i param4 nie? O co mi chodzi tak na prawdę: Otóż mamy dajmy na to adres http://jakis_sklep.pl/kategoria/12/jakis+opis i tam chcę dodać paginację. Może więc to wyglądać tak: http://jakis_sklep.pl/kategoria/12/jakis+opis?strona=2 ale chciał bym zrobić w miarę uniwersalnie ten system paginacji, więc może być równie dobrze adres: http://jakis_sklep.pl/koszyk?strona=2 http://jakis_sklep.pl/polecane/produkty?co...=1&strona=2 http://jakis_sklep.pl/polecane/produkty?st...=2&cośtam=1 itd. muszę więc pobrać adres bieżący, ale bez numeru strony, bo ten dopiero dopiszę do tej pory robiłem po prostu $adres='http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; ale teraz z adresu muszę usunąć jeden parametr tak, żeby reszta adresu pozostała niezmieniona. mogę niby zrobić foreach na $_GET, ale wtedy adres nie będzie taki ładny, jak był, bo nie wiem, czy zmienna poszła z mod_rewrite, czy nie. gdybym to wiedział, zrobił bym $adres='http://'.$_SERVER["SERVER_NAME"].$_SERVER['REDIRECT_URL'].pozostałe_zmienne_z_get; Robił ktoś może coś podobnego? Był bym bardzo wdzięczny za nakierowanie mnie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Za bardzo kombinujesz i chyba nie rozumiesz do czego m_r służy. Zrób to normalnie przez GET i podczep pod to m_r. Bez żadnych udziwnień w stylu http://jakis_sklep.pl/kategoria/12/jakis+opis?strona=2 tylko http://jakis_sklep.pl/kategoria/12/jakis+opis/2
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Musiałbyś skorzystać z własnego mechanizmu przepisywania URL-i (mógłbyś skorzystać na przykład z komponentu Routing Symfony), który pozwoliłby nie tylko na odczytanie docelowego zasobu, ale również na wygenerowanie odpowiedniego URL-a.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 3 Dołączył: 27.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Za bardzo kombinujesz i chyba nie rozumiesz do czego m_r służy. Zrób to normalnie przez GET i podczep pod to m_r. Bez żadnych udziwnień w stylu http://jakis_sklep.pl/kategoria/12/jakis+opis?strona=2 tylko http://jakis_sklep.pl/kategoria/12/jakis+opis/2 to nie takie proste, bo teraz z adresu i tak musiał bym usuwać numer strony, bo inaczej dostane adresy typu http://jakis_sklep.pl/kategoria/12/jakis+opis/1/2/3/4/5/6/7/ gdy use będzie przełączał stronę. A jako, że paginacja jest wykorzystywana w wielu miejscach a chcę, żeby wyglądała tak samo, to chciałem zrobić funkcję uniwersalną do której przekazujesz tylko ilość elementów, a ona zwraca cały gotowy HTML paginacji. Tyle, że do tego celu musi ta funkcja znać bieżący adres. No ale trudno, będę główkował dalej i coś wymyślę |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Skoro masz adres http://jakis_sklep.pl/kategoria/12/jakis+opis to oczywiste że będzie to prowadziło do produktu czy czego tam chcesz, a jak masz http://jakis_sklep.pl/kategoria/12/jakis+opis/1 to oczywiste że będzie to paginacja. Nie rozumiem w czym problem. Jak chcesz sprawdzić czy m_r jest włączone użyj apache_get_modules() i na tej podstawie generuj link z i bez m_r
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 14:18 |