Autor Zpráva
mrw
Profil *
ahoj, chtěl bych přepisovat url z formy http://localhost/index.php?kategorie=seznam&akce=zobrazit_uzivatele&skupina=sk1 na formu podobnou http://localhost/seznam/zobrazit_uzivatele/sk1 pomocí modulu rewrite v apachi (respektive ve skutečnosti se to přepisuje přesně naopak, ale to je tady v kontextu jedno). Problémem jsou dynamické parametry, protože místo skupina=sk1 tam může být třeba prava=rwx nebo kombinace různých proměnných. Toto je jen příklad, ve skutečnosti je url ještě horší protože v aplikaci používám dynamicky načítané moduly, které mohou pracovat s jakoukoliv proměnnou v GET kdykoliv je potřeba. Jak sedá toto přepsat do do té hezčí url? Původně jsem myslel že použiju metodu používanou v routeru v Nette Frameworku, ale tam je potřeba znát kam se naviguje/routuje alespoň pár kroků předem, což v mé aplikaci někdy jasné není. Mé nápady jsou takové všelijaké a určitě existuje lepší metoda než třeba http://localhost/seznam/zobrazit_uzivatele/skupina/sk1/prava/rwx či http://localhost/seznam/zobrazit_uzivatele/skupina.sk1/prava.rwx či http://localhost/seznam/zobrazit_uzivatele/ZABALENY_ARRAY_TO_RETEZEC/ZABALENY_ARRAY_TO_RETEZEC. Jak tedy na to?
joe
Profil
Na tvém místě bych si stanovil, jak ty adresy vlastně chci mít, to je asi to, na co se vlastně ptáš.

Pokud to vezmu podle Nette, tak tam to směřuje na nějaký Presenter a jemu přidruženou akci. Takže url pak může vypadat:

example.com/user/add

Kde user je presenter a add je jeho metoda - akce.

Takže bys měl vědět, na jaký presenter a jakou akci chceš směřovat. Pokud chceš přidat další parametry, není problém a URL už bych nepřepisoval, ale nechal v tomto tvaru:

example.com/user/add?param1=value&param2=value&param3=value&...

Zvlášť v případě, že opravdu nevím, jaké to budou parametry a nebo jich bude více. Nějak nevidím důvod to přepisovat na "cool urls", ty snad ano?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: