Nastavení routerů zobrazí Nette Error 404

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

Zdravím, omlouvám se za blbý dotaz, ale potřebuji poradit kde dělám chybu.

Potřebuji zprovoznit zpracování URL ve tvaru www.example.com/…-jizdni-kolo
Prostě v URL bude doména, inzerat (nějak jsem pochopil, že to je presenter) a poslední parametr bude unikatni alias, resp. [IDinzeratu]-[nadpis inzeratu prehnany pres String::webalize()]

V bootstrap.php mám v routerech nastaveno toto :

// setup application router
$router = $application->getRouter();

$router[] = new Route('index.php', array(
    'presenter' => 'Homepage',
    'action' => 'default',
    ), Route::ONE_WAY);

$router[] = new Route( 'inzerat/<id>/', array(
	'module' => 'Front',
	'presenter' => 'Inzerat',
	'action' => 'default',
	'id' => NULL )
);

Problém je v tom, že na lokále to funguje, a jakmile to dam na server tak to neběží. Na lokále i na serveru mám stejný .htaccess. Podle mě by v něm být chyba neměla, ale samozřejmě se můžu mýlit.

# mod_rewrite
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # front controller
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

Dále mám připravený presenter s názvem InzeratPresenter.php a v něm je ..

class Front_InzeratPresenter extends FrontBasePresenter {

    /**
     * StartUp
     */
    public function startup()
    {
        parent::startup();

        $this->master = 'detail';
        $this->layout = 'detail';
    }

    /**
     * default
     */
    public function renderDefault()
    {
    	echo 'test<br>';
        if ( isset( $this->params['id'] ) )
    	{
    		$p = explode( '-', $this->params['id'] );
    		if ( ( count( $p ) > 0 ) && ( is_numeric( $p[0] ) ) )
    		{
				// zde bude zpracovani pozadavku na zobrazeni zaznamu podle ID z $p[0]
			}
		}
    }

}

Nevím kde je chyba, protože na serveru se uživatel nedostane do funkce renderDefault(), prostě to vypíše chybovou stránku Nette 404, není to klasická chyba serveru.
Proto si myslím, že mi ještě někde něco buď chybí, nebo mám někde něco špatně uvedeno.
Nevím jestli je chyba v zápise v routeru nebo ve zpracování routy, fakt netuším, prosím o pomoc …

Díky všem