Modules-Useg problém s routama
- Milhaus87
- Člen | 22
Verze Nette Framework 2.0-beta (revision 648b258 released on
2011–06–13)
Mám problém s modulama.
Když mám bootstrap.php takhle, tak všechno to funguje akorát že adresa na
admin modul se musi zapsat http://www.blog-nette.cz/admin.default/
$application->onStartup[] = function() use ($application) {
$router = $application->getRouter();
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>[/<id>]', 'Front:Default:default');
$router[] = new Route('index.php', 'Admin:Default:default');
$router[] = new Route('<presenter>/<action>[/<id>]', 'Admin:Default:default');
} else {
$router[] = new SimpleRouter('Front:Default:default');
}
};
Když použiju bootstrap s examplase tak mi to hodí error RouteList not found. Ukáže to chybu na tomto řádku $router[] = $adminRouter = new RouteList(‚Admin‘);
$application->onStartup[] = function() use ($application) {
$router = $application->getRouter();
// mod_rewrite detection
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin/<presenter>/<action>', 'Default:default');
$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Default:default');
} else {
$router[] = new SimpleRouter('Front:Default:default');
}
};
Chtěl bych docílit toho aby stačilo napsat http://www.blog-nette.cz/admin a dostal jsem se na tento modul. Do dokumentace jsem se díval, zní to jaksi nechápu.
- Semik
- Backer | 135
kralik napsal(a):
Ahoj,
prosím poraďte mám problém v bootstrap.php
nechce mi to projít přes tento if
<?php if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules()) { } ?>
chyba někde v konf. apache2 nebo php, ale zatím jsem nenašel kde.
mooc díky
V tom if chybí ukončovací závorka.
- basovnik
- Člen | 23
Ahoj, řeším problém, který se již řešil, ale asi nevyřešil nebo to
nechápu…
Lepší
detekce aktivního .htaccess a mod_rewrite
Pozor
na funkci apache_get_module v PHP 5.3
Na lokále mi funguje vše v pohodě, ale když hodím web na hosting od
OneBit, tak ty routy nefungujou, přitom jsem v administraci
OneBit povolil mod_rewrite
. Requirements-checker
mi stejně ale hlásí nějaký problém (viz. zde).
Mám modulární aplikaci a bohužel se nedostane do této podmínky:
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules()))
{
...
}
Poradí mi někdo?
Editoval basovnik (18. 1. 2012 17:41)
- 22
- Člen | 1478
co pro začátek zkusit vyhledávání?
btw. ten mod_rewrite
, podle obrázku toho checkeru, není
aktivní asi…
- basovnik
- Člen | 23
22: Ten tvůj odkaz na „vyhledávání“ nefunguje. Mělo to někam vést nebo jsi mi jen chtěl naznačit, že mám více hledat před tím, než vznesu dotaz..?
Četl jsem už několik vláken, ale žádné mi nepomohlo. Když zmíněnou
podmínku úplně vymažu a nechám tam jen nastavení rout, a zadám url,
která by měla fungovat, tak mi to vyhodí error 500 od
OneBit!! Jinak s ponecháním podmínky běhá normálně
SimpleRouter
, jen ta url vypadá hrozně.Jo a ten .htacces by měl
být aktivní (obr).
PS: Zkouším najít něco tady a přemýšlím, zda se nemá něco změnit v souboru
.htaccess
případně použít ty jejich soubory
.user.ini
. Moc tomu ale nerozumím :(
Editoval basovnik (23. 1. 2012 17:41)