Problém s routama, na localhostu v pořádku

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

Ahoj,

mám problém s routama. Dělám web podle tutoriálu statické ACL v modulární aplikaci , na localhostu běží vše v pořádku, ale když ho nahraju na hosting (endora.cz) tak mi nejde admin modul.

Při zadání www.example.cz/admin/ se mi objeví 404 od nette.

`

<?php

$router[] = new Route('admin/<presenter>/<action>/<id>', array(
            'module' => 'Admin',
            'presenter' => 'Default',
            'action' => 'default',
            'id' => null
        ));
$router[] = new Route('index.php', array(
            'module' => 'Front',
            'presenter' => 'Default',
                ), Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>/<id>', array(
            'module' => 'Front',
            'presenter' => 'default',
            'action' => 'default',
            'id' => NULL,
        ));
?>

`

předem děkuju za odpovědi:)

jtousek
Člen | 951
+
0
-

Viděl bych to spíš na problém s mod_rewrite.

Verze PHP a Nette?

Mikulas Dite
Člen | 756
+
0
-

Zapni laděnku pomocí \Nette\Debug::enable(\Nette\Debug::DEVELOPMENT); a uvidíme, kde je problém.

Edit: a .htaccess je v pohodě?

Editoval Mikulas Dite (24. 11. 2010 18:14)

Martin Štainer
Člen | 9
+
0
-

VERSION = ‚1.0-dev‘;
REVISION = ‚f03af88 released on 2010–02–24‘;
const PACKAGE = ‚PHP 5.2‘;

Laděnka by měla být zapnutá v bootstrapu.php mám

<?php

Debug::enable(Debug::DEVELOPMENT);

?>
Martin Štainer
Člen | 9
+
0
-

.htacces v document_rootu

# disable directory listing
Options -Indexes

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

Mikulas Dite
Člen | 756
+
0
-
  1. používáš hodně starou nightly verzi nette (z února). Doporučuju stáhnout novější – alphu z https://nette.org/cs/packages
  2. jestli je laděnka na produkci zaplá, tak nette nehodí 404, tzn. buď není zaplá, nebo to není od Nette.
  • zapnutí s Debug::PRODUCTION musí být asi poslední, tzn. jestli je potom jenom Debug::enable(), tak to zaplé není.

Editoval Mikulas Dite (24. 11. 2010 18:32)

jtousek
Člen | 951
+
0
-

Pokud nepomůže co říkal Mikulas Dite zkus odkomentovat RewriteBase v .htaccess, někdy to pomáhá.