![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.07.2012 Skąd: Warsaw Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z kontrukcja pliku .htaccess, obecnie wyglada tak:
Kod Options FollowSymLinks RewriteEngine On RewriteRule ^([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?$ index.php?controller=$1&action=$2 [L] Obsługuje mi odpowiednio kontroler i akcję. np. Kontroler/akcja. I teraz potrzebuję przerobić to tak żeby była możliwa obsługa innych zmiennych url, nie znam ich ilości, i nazw, po prostu zawsze musze miec mozliwosc ich odczytania. Napisanie http://127.0.0.1/framework/?a=4 i później w kodzie print $_GET['a']; nie działa.. .htaccess obcina mi reszte zmiennych. Proszę o pomoc! ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteRule ^([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?$ index.php?controller=$1&action=$2 [L,QSA]
-------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Cytat $_GET['a']; nie działa
Po mod_rewrite obsłuży ci jedynie do 9 zmiennych. Możesz przekazać sobie np. ostatni parametr jako string /controller/akcja/id/string/string/string i parsować go po stronie PHP. Poszukaj pod hasłem router. -------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.07.2012 Skąd: Warsaw Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteRule ^([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?$ index.php?controller=$1&action=$2 [L,QSA] Dzięki wielkie, nie wiedziałem o QSA ![]() A gdybym chciał żeby wszystkie konstrukcje wygladaly tak: kontroler/akcja/id/5/id2/18 itd ? Jak skonstruować takie wyrażenie? bo teraz to mam ?id=5&id2=18 i oczywiście niezależnie od ilości zmiennych. Ten post edytował webdepsh 9.07.2012, 14:57:17 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W tym temacie popieram w pełni przedmówcę... najlepiej jest wtedy dać:
Kod ^.+$ index.php [L,QSA] I przekierować wszystko na index.php (oczywiście foldery ze statyką czyli grafika, skrypty js itp trzeba zaopatrzeć wtedy w .htaccess z rewriteEngine off). W index.php sprawdzasz jaki jest adres i sobie odpowiednio go splitujesz (explode()). Możesz sprawdzać $_SERVER['REQUEST_URI'] na przykład - ale metod jest wiele. Poczytaj o tym routerze ![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 17.06.2025 - 03:24 |