Autor Zpráva
David_
Profil *
Ahoj, mám zde drobný problém, nepoužívám žádný framework, ale pro pořaděk jsem udělal následující MVC strukturu:

 root->app:
 -/model
 -/viewer
 -/controller
 -/www
    -index.php
    -/img

je to podobné jako v Nette..

V rootu mám .htaccess:
RewriteEngine on
RewriteRule ^$ app/www/ [L]

který nastaví defaultní cestu app/www/index.php to vše funguje i když nevím zda je to spravný způsob jelikož když v souboru dám cestu k obrázku, který je umístěn v app/img/obrazek.png a udelam img/obrazek.png tak cesta je nesprávná, protože cesta má být app/img/obrazek.png, proč když přenastavím vychozí adresář tak přesto cesty k souboru jsou od rootu? Jak to vyřešit? Příde mi to divné odkazovat na soubor do typu týdle složky..


* app/www/img/obrazek.png
Jozin
Profil
Zdravím,

když už tu píšeš o Nette, proč se nenakouknout do jejich htaccess souboru a poučit se:

RewriteEngine on

# prevence proti otevreni souboru, co zacinaji teckou
RewriteRule /\.|^\. - [F]

# pokud neni request nejaky soubor nebo složka, přesměruj na app/www/index.php
RewriteCond %{REQUEST_FILENAME} !-f                                                                           
RewriteCond %{REQUEST_FILENAME} !-d                                                                           
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ app/www/index.php [L] 

# a zde pro tebe nejpodstatnejsi cast, vsechny requesty presmerovat do app/www
RewriteRule ^$ app/www/ [L]                                                                                       
RewriteRule (.*) app/www/$1 [L]

Jedna rada na závěr, pokud se snažíš napsat si framework dle nějakého jiného, studuj ho do detailu, zkopírovat stromovou strukturu není dostatečné. Ještě poznámka, Nette počítá s tím, že root webu bude ve složce www, proto nemusí řešit tvé "app/www", ne na všech serverech je to ovšem možné a proto se používá ta finta na konci htaccess, co jsem ti napsal.
David_
Profil *
problém nastává při RewriteRule (.*) app/www/$1 [L] když tam je tak dostanu 500-stovku chybu..
Radek9
Profil
David:
Pravděpodobně tam vzniká smyčka. To se dá vyřešit jednou podmínkou, kterou umístíš před RewriteRule:

RewriteCond %{ENV:REDIRECT_STATUS} ^$

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