Redirect po zpracování login formuláře nepřesměruje, hlásí 404 Not Found

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Yogi
Člen | 6
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

Proč máš proboha bootstrap v document_rootu? To je docela drsný.

RewriteBase máš nastavenej na \document_root?

Yogi
Člen | 6
+
0
-

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
+
0
-

Mělo by.

Chápu to tak správně, že máš nalinkovanej root localhostu přímo do document_rootu aplikace? To ale vůbec nevadí tomu mít bootstrap v app.

Yogi
Člen | 6
+
0
-

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
+
0
-

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
+
0
-

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.