Autor Zpráva
Mastodont
Profil
Dělám právě na trochu složitějším systému routování, kde může být různé pořadí částí a přemýšlím, jak zrychlit analýzu. Napadlo mě zařadit názvy částí přímo do adresy podobně jako u klasických GET parametrů:
/lang.en/module.articles/view.summary
Viděl někdo něco podobného v praxi?
Majkl578
Profil
Mastodont
myslim, ze to neni spatne reseni, jen ten nazev modulu (treba "lang.") bych tam nedaval, to jde preci resit pres htaccess a bude to hezci, porovnej sam:
/en/articles/summary
Jan Tvrdík
Profil
Mastodont:
Pokud máš hodně času na čtení, tak se můžeš podívat na Nette\Application\Route, které s tím nemá problém.
Mastodont
Profil
Majkl578
Jenže zrovna ten jazyk chci dát jako volitelný, a to už by řešení přes .htaccess bylo nad moje síly. Parsování budu dělat až v aplikaci. (Vlastně i ten modul bude volitelný s výchozí hodnotou danou v konfiguraci.)
Majkl578
Profil
Mastodont
to preci nevadi, muzes to mit promenlive, treba nejak takto (nejsem si jist zda zrovna toto pujde, nezkousel jsem, jen napsal):
RewriteRule ^([[:alnum:]\-\.]+)/([[:alnum:]\-\.]+)/([[:alnum:]\-\.]+)([/]?)$  ./app.php?lang=$1&module=$2&action=$3
Mastodont
Profil
Dejme tomu, že adresy budou vypadat například takto, včetně statických:
www.site.cz/lang.cz/module.clanky/view.prehled
www.site.cz/module.clanky/id.15 // výchozí jazyk
www.site.cz/id.15  // výchozí jazyk a modul
www.site.cz/prihlasit // statická, modul a akce napevno v konfiguraci

To tedy parsovat v htaccess neumím. ("prihlasit" by mělo samozřejmě jazykové varianty)
srigi
Profil
Mastodont
Skus pozriet na moje routovanie - link.
Mastodont
Profil
srigi
Děláš to v zásadě úplně stejně jako já, jen tam nikde nevidím statické routy.
srigi
Profil
Mastodont
moje routovanie je silno staticke, URL ma tvar:
http://www.example.com/[lang]/controller/actiom/[param1]/[value1]/[param2]/[value2]

hodnoty v hranatych zatvorkach su nepovinne. Routy nie su nikde explicitne specifikovane, routovanie je natvrdo "zadrotovane" do parseUrl().
Mastodont
Profil
srigi
Statická routa obsahuje pevně daný řetězec, který není nutné vyhodnocovat:
http://www.example.com/author/:username // přehled článků od určitého autora


Nebo to jsou zkrácené URL, které jsou fixně mapovány a není nutné je vyhodnocovat postupně:
http://www.example.com/login // controller = user, action = login
http://www.example.com/top // controller = articles, action = view, limit = 10

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0