Autor | Zpráva | ||
---|---|---|---|
six6 Profil * |
#1 · Zasláno: 3. 3. 2011, 01:36:00
Ahoj. Mohl by mi prosím někdo kdo používá Nette router vysvětlit, jak se konfiguruje mod_rewrite aby to mohlo fungovat? Jediné co jsem našel je zmínka že mod_rewrite se prot nette router konfiguruje, nic víc :-)
|
||
joe Profil |
#2 · Zasláno: 3. 3. 2011, 02:00:53
Do document rootu (www) dáš soubor .htaccess, který se dodává s Nette. Všechno ostatní se nastavuje právě třídou Router, v bootstrapu.
|
||
six6 Profil * |
#3 · Zasláno: 3. 3. 2011, 07:15:37
Díky, stáhnout to mě zatím nenapadlo. Mimochodem chápu to dobře, že "RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]" způsobí přepsání jakékoliv url na index.php (s výjimkou pro soubory vyjmenovaných přípon). To by logicky znamenalo, že php bude vidět z url už jen index.php, tak jak může vlastně fungovat parsování celé url?
|
||
nightfish_ Profil * |
#4 · Zasláno: 3. 3. 2011, 10:07:08
six6:
„To by logicky znamenalo, že php bude vidět z url už jen index.php“ Nikoliv, k PHP se dostane adresa přes přepsáním, protože to pravidlo mod_rewrite realizuje podstrkávání, ne přesměrování. |
||
six6 Profil * |
#5 · Zasláno: 3. 3. 2011, 11:54:27
Co to znamená podstrkávání? Že apache sice může změnit obsah $_GET, ale url zůstane nedotčená pro php? Takže pomocí mod_rewrite mohu realizovat i přepisování bez podpory aplikace (pomocí předávání "index.php?p=$1...")?
|
||
six6 Profil * |
#6 · Zasláno: 3. 3. 2011, 12:07:33
Ještě je s tím jeden problém. Nefungují relativní odkazy. Je to celkem logické (http://localhost/projekt/param1/param2/param3...), ale jakým způsobem je zase co nejelegantněji zprovoznit? HTML base tag, php cestou, jinak ... ?
|
||
Časová prodleva: 13 let
|
0