Server error
- root
- Člen | 10
Snazim se rozchodit projekt co mi na localhostu bezi spolehlive, ale na hostingu u Hostmonsteru se mi ho nedari rozbehnout, viz http://mb.soundkilla.net/
poradili byste kde hledat chybu?
obsah htacces mam takovyhle
# mod rewrite
RewriteEngine On
RewriteBase /
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(css|js|pdf|ico|gif|jpg|png|rar|zip|tar\.gz)$ index.php [L]
register globlas mam na off to same magic quotes
- Ondřej Mirtes
- Člen | 1536
Zapni si Laděnku, v bootstrapu:
Debug::enable(Debug::DEVELOPMENT);
Environment::getApplication()->catchExceptions = false;
- root
- Člen | 10
ok zapnul jsem to a ted to pise ze nemuze najit blok API viz http://mb.soundkilla.net/
na localhostu mi to ale bez problemu funguje, to je des rozbehnout neco novyho, pokopli byste zas?
jeste mi na localu bezi i adresa s novinkama, ale tady hlasi jinej error viz http://mb.soundkilla.net/novinky/
- JakubKohout
- Člen | 92
Ten druhej bug je možná BOM chyba v UTF-8 … viz. http://maciweb.net/…b/clanek.php?…
Editoval dRaGen (30. 12. 2009 16:27)
- root
- Člen | 10
tak jsem mel prazdny default.phtml, hnul jsem se z mista, ale oproti localhostu mi to negeneruje frienldy url, ale predava je to GETem v url.
htaccess mam nasledujici
# mod rewrite
RewriteEngine On
RewriteBase /
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(css|js|pdf|ico|gif|jpg|png|rar|zip|tar\.gz)$ index.php [L]
odkazy tvorim takto
<a class="hide" href="'.$this->link('Static:default', $this->func->urlNoHtml($val2->name)).'" title="'.$val2['name'].'">
a router mam v bootstrapu takto
$router[] = new Route('/<mod>/', array(
'presenter' => 'Static',
'action' => 'default',
'mod' => NULL,
));
$router[] = new Route('/<mod>/<nid>/', array(
'presenter' => 'News',
'action' => 'default',
'mod' => NULL,
'nid' => NULL,
));
omlouvam se jestli pusobim amaterskym dojmem, ale sam se s nette seznamuji a
rad bych se ho naucil, ale obcas uz nevim kam se podivat.
na localhostu mi to funguje a adresy se tvori www/novinky/ nebo
www/reference/
Editoval root (30. 12. 2009 17:00)
- Ondřej Mirtes
- Člen | 1536
To ti nepřijde divná podoba té šablony? :o) Zapisuje se to takto, mnohem elegantněji:
<a class="hide" href="{link Static: $val2->name}" title="{$val2->name}">
Pokud ti ta urlNoHtml
funkce dělá něco jako
String::webalize
, tak bych si už v modelu připravil nějakou
$val->url property, ve které to budeš mít, ať nemusíš šabony
zadělávat takovýmto kódem.
U obou rout bych zrušil počáteční lomítka a přidal bych na konec tuto routu:
$router[] = new Route('<presenter>/<action>/', array(
'presenter' => 'Static',
'action' => 'default',
));
Ale u tebe to vypadá, že tam máš daný nějaký SimpleRouter, který ti bere všechny routy – ukaž celý bootstrap.
Editoval Ondřej Mirtes (30. 12. 2009 18:05)
- root
- Člen | 10
ok, dal jsem tam to co pises ten link ve stylu
href="{link Static: '.$this->func->urlNoHtml($val->name).'}"
je to ten prvni odkaz menu kariera, ale uz to nevytvori ani odkaz s parametry v GETu http://mb.soundkilla.net/
tady je bootstrap
<?php
require LIBS_DIR . '/nette/loader.php';
//Debug::enable();
Debug::enable(Debug::DEVELOPMENT);
Environment::getApplication()->catchExceptions = false;
$loader = new /*Nette\Loaders\*/RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->addDirectory(CLASS_DIR);
$loader->register();
$application = Environment::getApplication();
$router = $application->getRouter();
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$router[] = new Route('<mod>/', array(
'presenter' => 'Static',
'action' => 'default',
'mod' => NULL,
));
$router[] = new Route('<mod>/<nid>/', array(
'presenter' => 'News',
'action' => 'default',
'mod' => NULL,
'nid' => NULL,
));
$router[] = new Route('<presenter>/<action>/', array(
'presenter' => 'Static',
'action' => 'default',
));
} else {
//$router[] = new SimpleRouter('dpp:default:default');
}
$application->run();
pres NOVINKY se jde proklikat zatim jen na detail novinky, ale vse jakoby bez mod rewrite
Editoval root (30. 12. 2009 18:22)
- Ondřej Mirtes
- Člen | 1536
No tak vždyť je to evidentní :)
Podmínka
function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())
někdy vrací false, i když na serveru mod_rewrite puštěn je. Takže zruš
tu podmínku a její else část a všechno ti nejspíš poběží.
Tady o tom píšu: