Routování špatně kanonizuje

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

Zdravím. Nejdříve ukážu Router

$router = new RouteList();
		$router[] = new \Nette\Application\Routers\CliRouter();

		$router[] = new Route("index.php", "Homepage:default", Route::ONE_WAY);
		$router[] = new Route("", "Homepage:default", Route::ONE_WAY); // a
		// .... víc rout
		$k = "(kart|live|race|settings|drivers|events|queue|results)";
		$router[] = new Route("<presenter $k>/<id [0-9]+>", "Kart:edit");
		$router[] = new Route("<presenter $k>/", "Kart:default"); // b
		//$router[] = new Route("<presenter $k>/<action>[/<id>]", "Kart:default");
		// ... víc nepotřebných rout

Z nějakého důvodu mi to při přístupu na /kart (nebo /kart/) přesměrovává na „/“.
Nechápu důvod, pokud změním default u routy s poznámkou „b“ na Cokoliv:default, začne to fungovat.
Fungují i ostatní url, ale /kart/ (/kart) prostě nefungují a vždy se kanonizují na Homepage:default ("", routa s poznámkou a).

V čem je zakopaný pes? Přece to, že v url je původní routa neznamená, že jí to musí kanonizovat, navíc na něco, na co to podle dokumentace ani kanonizovat nemá, ne?