404 na localhoste (EasyPHP) pri klinknuti na odkaz na prezenter

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

Zdravim, mam taky problem, ze ked kliknem na odkaz na moj prezenter, dostanem chybu 404. Odkaz mam v sablone definovany takto:

<a href="{link Item:}">Items</a>

V priecinku presenters mam vytvoreny subor ItemPresenter.php a v nom definovanu triedu ItemPresenter. Dalej mam v priecinku templates vytvoreny priecinok Item a v nom sablonu default.latte. Vsetky cesty aj nazvy (male/velke pismena) by teda mali sediet.

Requirements Checker mi stale hlasi warning „Mod_rewrite is probably not present. You will not be able to use Cool URL“.

Pritom v httpd.conf mam odkomentovany riadok:
LoadModule rewrite_module modules/mod_rewrite.so

A tiez mam nastavene AllowOverride All vseobecne na vsetky priecinky, aj zvlast na priecinok www.

V subore www/.htaccess mam:

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

Fakt neviem, co by som este mohol nastavit… Vdaka za rady.

nanuqcz
Člen | 822
+
0
-

Ahoj,
pokud tvůj server nepodporuje mod_rewrite, tak jeho „zapnutí“ v .htaccess ti nepomůže (nemůžeš zapnout něco, co na serveru není).

Existuje na to ale jednoduché řešení, místo klasického Routeru (který generuje Cool URL), použiješ SimpleRouter (který generuje klasické odkazy).

# bootstrap.php
use Nette\Application\Routers\SimpleRouter;

...

// Setup router
$container->router[] = new SimpleRouter('Homepage:default');

Viz dokumentace.

srobowak
Člen | 27
+
0
-

vdaka toto docasne vyriesi moj problem :) … hmm len mi pripada cudne, ze by to moj server nepodporoval (Apache 2.2.21 VC9). Skor si myslim, ze este bude niekde chyba…