Autor | Zpráva | ||
---|---|---|---|
David_ Profil * |
#1 · Zasláno: 18. 8. 2014, 01:24:02 · Upravil/a: David_
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 |
#2 · Zasláno: 18. 8. 2014, 08:59:22
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 * |
#3 · Zasláno: 18. 8. 2014, 13:11:14
problém nastává při RewriteRule (.*) app/www/$1 [L] když tam je tak dostanu 500-stovku chybu..
|
||
Radek9 Profil |
#4 · Zasláno: 18. 8. 2014, 13:35:34
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} ^$ |
||
Časová prodleva: 10 let
|
0