Redirect po zpracování login formuláře nepřesměruje, hlásí 404 Not Found
- Yogi
- Člen | 6
Zdravím,
jakožto totální newbie jsem se dostal už k funkčnímu login formu
s využitím MVP, který při nesprávném vyplnění vypíše flash zprávu a
při správném by měl přesměrovat. Bohužel to přesměrování je kámen
úrazu – chci z Homepage presenteru a pohledu default směrovat na
Startpage, taky default. Přidal jsem teda :
<?php
$this->redirect(':Startpage:default');
?>
Ale bohužel skončí vše na stránce s URL http://localhost/startpage/ s tím, že 404 Not Found – dokonce ani památky po Nette. Kde dělám prosím chybu?
Díky,
Standa
- Mikulas Dite
- Člen | 756
A ty máš celou aplikaci v rootu localhostu? Protože jestli ne, tek je jasné že tam už Nette není. Jestli ano, laděnka by tam byla (předpokládám že jinak jí vidíš).
- Yogi
- Člen | 6
Mikulas Dite napsal(a):
A ty máš celou aplikaci v rootu localhostu? Protože jestli ne, tek je jasné že tam už Nette není. Jestli ano, laděnka by tam byla (předpokládám že jinak jí vidíš).
Jj melo by to byt vse v rootu na localhostu – mam index i bootstrap v document rootu, pak tam mam slozky /models a /presenters a /templates. Vim, ze to neni standard, ale nasel jsem na to nejakej tutorial a podle toho si to nastavil. Co by to teda mohlo byt?
- Mikulas Dite
- Člen | 756
Proč máš proboha bootstrap v document_rootu? To je docela drsný.
RewriteBase máš nastavenej na \document_root
?
- Yogi
- Člen | 6
Jednoduse proto, ze jsem to nebyl schopen jinak nastavit. Rad bych to mel jinak, ale zase nechci mit aplikaci na http://localhost/document_root/ … chci ji mit primo na http://localhost. Tohle jsem veci nad kterym ted travim hodiny, spis desitky hodin a neni pro me uplne jednoduchy se tim prokousat – proto. Verim a doufam, ze to vsechno casem dam lip, ted je ty teorie a vsechno docela dost najednou.
Jinak ten RewriteBase mam v .htaccessu zakomentovanej … pokud mi dobre svita, kdyz bych to udelal presne podle skeletonu jak je v instalackach a dal si do RewriteBase /document_root/ , tak by to fungoval tak jak ja chci?
# RewriteBase /
- Mikulas Dite
- Člen | 756
Mělo by.
Chápu to tak správně, že máš nalinkovanej root localhostu přímo do
document_root
u aplikace? To ale vůbec nevadí tomu mít
bootstrap
v app
.
- Yogi
- Člen | 6
Presne tak, konstanta WWW_DIR ukazuje na /. Zkusim poladit ten bootstrap, vim, ze je to nebezpecny, ale zatim se jen snazim nekam pokrocit se znalostma na localhostu s testovaci aplikackou/kama – rozhodne se se svym nulovym umenim nechystam delat neco na ostrym webu ;-)
Ale jak se zda routing je v pripade takovyhle konfigurace mozna slozitejsi a zbytecne se pak zasekavam na vecech, ktery si sam zpusobuju. Mozna to zkusim prehazet podle standardni struktury aplikace a zmenim spis ten RewriteBase.
- Yogi
- Člen | 6
Stejne, ale vubec nechapu, kdyz pouziju skeleton, jak docilim toho, ze pri zadani http://localhost se zobrazi HomepagePresenter s defaultni sablonou. To by preci muselo bejt neco v .htaccessu htdocs a tam je jen readme. Pres tohle jsem na zacatku jinak nedokazal prejit, tak jsem to resil tou komplikovanejsi cestou.
Jde to nejak standardne a spravne, aniz bych prekopaval doporucenou strukturu aplikace?
- Ondřej Mirtes
- Člen | 1536
Můžeš si udělat v Apachi VirtualHost.
A jedna z nejméně bolestných variant je mít složky app/ a libs/ v document_rootu, jen nesmíš zapomenout je zakrýt pomocí .htaccess (deny from all) a přepsat cesty v index.php.