Chybné přesměrování do admin modulu

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

Ahoj,

mám web o 2 modulech, klasický front a admin modul. Do admin modulu se jde skrze www.domena.cz/admin, ale zde nastává problém, jakmile dám www.domena.cz/admin tak mě to přesměruje na www.domena.cz/www/admin, osobně si myslím, že v tom má prsty .htaccess který je umístěný zde:

/web
	/app
	/error
	/log
	/stats
	/temp
	/vendor
	/www
	/.htaccess - toto je on

obsahuje:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?domena\.cz$
RewriteRule ^$ www/ [L]
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.cz$
RewriteRule (.*) www/$1 [L]

ještě za to teoreticky může přesměrování v AdminModule\BasePresenter:

public function startup() {
     parent::startup();
     $this->parametry = $this->context->getParameters();
     // Pokud uzivatel neni prihlasen tak ho kopneme
     if (!$this->getUser()->isLoggedIn() && $this->getName() != "Admin:Login" && $this->getName() != "Admin:Cron") {
         $this->redirect("Login:in");
     }
 }

i když ± tuším, kde chyba je, nenapadá mě, jak ji vyřešit, zkoušel jsem různé modifikace htaccess, ale nic. Upravoval jsem i routy, ale také nic, aktuální routy pro ADMIN jsou:

$router[] = new Route('admin/login', array(
           'module' => 'Admin',
           'presenter' => 'Login',
           'action' => 'in',
       ));
       $router[] = new Route('admin/logout', array(
           'module' => 'Admin',
           'presenter' => 'Login',
           'action' => 'out',
       ));

       $router[] = new Route('admin/<presenter>[/<action>][/<id>]', array(
           'module' => 'Admin',
           'presenter' => 'System',
           'action' => "dashboard",
           'id' => null
       ));

kdyby vás napadlo co s tím budu vděčný… ono se to zdá jako prkotina, ale problém nastává ve spojení s Tinymce, kde mi generuje linky s /www/link-co-jsem-chtel …

díky

Editoval exquis (23. 8. 2015 14:40)

Tomáš Jacík
Člen | 147
+
0
-

Problém je určitě v tom .htaccess :) Pokud nemůžeš nasměrovat DocumentRoot do té složky www, tak její obsah včetně původního .htaccess přesuň do rootu aplikace a budeš mít klid.

Taky pro ten admin modul můžeš použít následující zápis routeru:

$routeList = new RouteList('Admin');
$routeList[] = new Route("admin/<presenter>[/<action>][/<id>]", 'System:dashboard');
exquis
Člen | 83
+
0
-

hotovo, funguje, díky moc ;)