Struktura a nastavení ( s modulama )
- Pinqui
- Člen | 19
Přeji dobrý den. Pokouším se chápat nette a měl bych jeden menší
dotaz ohledně struktur.
Prošel jsem tu základní strukturu skeletonu a strukturu s modulama,
nicméně jsem chtěl trochu poupravit indexování a nemohu přijít na to, jak
to udělat.
Problém je následující s následující strukturou:
struktura:
app/
OneModule/
model/
presenters/
templates/
NextModule
model/
presenters/
templates/
temp/
presenters/
BasePresenter.php
HomepagePresenter.php
TestpagePresenter.php
models/
templates/
<!-- soubory jako @layout.phtml, Homepage.default.phtml Testpage.default.phtml a další-->
config.ini
.htaccess
bootstrap.php <!--odstraněn-->
document_root/
css/
images/
js/
temp/
.htaccess
libs/
Nette/
dibi/
.htaccess
index.php
Index mám uplně v rootu, abych nemusel lozit do složky document_root a
snažil jsem se ho nějako nastavit, nicméně mi najede homepage
http://example.cz/
, ale jakmile kliknu na test
http://example.cz/test/
, tak mi to
vypíše HTTP 404 – Soubor nebyl nalezen
nastavení:
index.php
<?php
define('WWW_DIR', dirname(__FILE__));
define('APP_DIR', WWW_DIR . '/app');
define('LIBS_DIR', WWW_DIR . '/libs');
require_once LIBS_DIR .'/Nette/loader.php';
// load web config
Debug::enable();
Environment::loadConfig();
$application = Environment::getApplication();
$application->errorPresenter = 'Error';
dibi::connect(Environment::getConfig('database'));
$session = Environment::getSession(); if (!$session->isStarted()) $session->start();
$router = $application->getRouter();
$router[] = new Route('<presenter>/<action>/<id>/', array('presenter' => 'Homepage', 'action' => 'default', 'id' => NULL));
$application->run();
Krom rady, proč mi to nemusí fungovat, bych se chtěl zeptat, zda je to i dobře strukturované.. v budoucnu bych chtěl do aplikace tvořit moduly, nejlépe nezávislé na sobě jako to má phpbb, phpfusion, prostě bu´d přidám a bude k dispozici nebo ho nepřidám a nebude k dispozici. Díval jsem s tu již že někdo vytváři nella cms, nicméně bych to chtěl pochopit i z vlastní strany. Děkuji
Editoval Pinqui (28. 2. 2010 12:40)
- Mikulas Dite
- Člen | 756
Máš problém s RewriteBase, minimálně ji nastav
RewriteBase \
, případně uprav pro RewriteRule odkaz na
index.php.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>