Z Multihost.cz
Obsah |
Rozšířené zpracování URL
Rozšířené zpracování URL je složitá sada pravidel sloužících k převodu URL požadavku na výsledný název souboru. V běžném prostředí se jen před cestu připojí DocumentRoot adresář a případně se aplikují rewrite pravidla.
Rozšířené zpracování URL (zkráceně advurl) nabízí ale i další možnosti:
Oddělení virtualhostů
Automatické rozdělení DocumentRootu na jednotlivé (sub)domény je možné snad ve všech myslitelných strukturách: doména login.example.org tak může být v adresáři login.example.org, example.org/login, nebo i org/example/login/_, pokud máte opravdu hodně domén v různých TLD.
Skrytí interních souborů
Pokud nechcete ukládat data odděleně od zbytku webové aplikace někam mimo DocumentRoot, existuje další řešení: vytvořte adresář aplikace normálně ve webovém stromu a v něm speciální "public" podadresář se jménem __this__. Jen jeho obsah bude viditelný z webu (pod adresou původního nadřazeného adresáře), a vše o úroveň výš bude skryto. Jinými slovy pokud v adresáři /a vytvoříte __this__ všechny dotazy do /a a podadresářů budou směřovány do /a/__this__. Funguje to hrozně jednoduše a můžete to libovolně vnořovat...
Clean URL bez mod_rewrite
Nastavovat rewrite pravidla (obvzlášť přes htaccess) je většinou poměrně problematické. Dost často se stane, že chcete všechny požadavky v nějakém adresáři (nebo třeba celém webu) obsluhovat jedním skriptem. Pak stačí v příslušném místě vytvořit soubor dispatch.cgi, dispatch.fcgi, nebo dispatch.wsgi, podle druhu skriptu, který používáte. Pro PHP to zatím nefunguje (doufáme, že časem bude) a webové frameworky se řeší jiným způsobem (ale též vyžadují Rozšířené zpracování URL). Od té doby budou všechny požadavky např. do /adresar/cesta směrovány na /adresar/dispatch.wsgi/cesta, kde cesta bude samozřejmě přístupná v proměnné PATH_INFO.