Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inny] mod_rewrite, .htaccess, Problem z konstrukcja pliku
webdepsh
post 9.07.2012, 14:24:52
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! smile.gif
Go to the top of the page
+Quote Post
Sephirus
post 9.07.2012, 14:37:51
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...
Go to the top of the page
+Quote Post
rocktech.pl
post 9.07.2012, 14:38:32
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


[APACHE] pobierz, plaintext
  1. Options FollowSymLinks
  2. RewriteEngine On
  3. #bi QSA ci zabrakło
  4. RewriteRule ^([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?$ index.php?controller=$1&action=$2 [L,QSA]
[APACHE] pobierz, plaintext


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
Go to the top of the page
+Quote Post
webdepsh
post 9.07.2012, 14:51:49
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 9.07.2012
Skąd: Warsaw

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


Cytat(Sephirus @ 9.07.2012, 15:37:51 ) *
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 smile.gif

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
Go to the top of the page
+Quote Post
Sephirus
post 9.07.2012, 15:11:07
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 wink.gif


--------------------
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...
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 Wersja Lo-Fi Aktualny czas: 17.06.2025 - 03:24