Server error

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

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

Zapni si Laděnku, v bootstrapu:

Debug::enable(Debug::DEVELOPMENT);
Environment::getApplication()->catchExceptions = false;
root
Člen | 10
+
0
-

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/

despiq
Člen | 320
+
0
-

a ty tem chybovym hlaskam nerozumis nebo v cem je problem?

JakubKohout
Člen | 92
+
0
-

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

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

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

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

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:

https://forum.nette.org/…-mod-rewrite

root
Člen | 10
+
0
-

no jasne! :)
pisu si tuhle poznamku do svyho blocku a zas se mi zacina vic a vic nette libit. diky za asistenci!