Jak vypnout divné přesměrování

Goues
Člen | 1
+
0
-

Zdravím všechny, zdědil jsem aplikaci v Nette a neustále bojuju s Routerem, protože funguje jinak než jakýkoli jiný router, který jsem kdy viděl.

Mám cestu

$router[] = new Route('my-module/my-presenter[/<id>]', [
   'module' => 'MyModule',
   'presenter' => 'MyPresenter',
   'action' => 'default'
]);

Ale kdykoli přijdu na http://localhost/my-module/my-presenter/1 tak mě Nette úplně hloupě přesměruje na http://localhost/my-module/my-presenter/?id=1. Jde tohlé zvláštní chování nějak vypnout nebo se mu vyhnout? Nikde jsem žádné přesměrování nezapínal a ani jsem nikde nenašel, proč to dělá, když mám cestu jasnou a jednoduchou.

Díky za odpovědi

David Matějka
Moderator | 6445
+
0
-

Ahoj, jde o kanonizaci url. Vyřešíš to tak, že routy seřadíš od těch specifických k těm obecným.

Šaman
Člen | 2634
+
0
-

Goues:

  1. Jestli jsi s routerem něco dělal, pošli ho sem celý. Někde bude chyba.
  2. Jestli jsi s ním nic nedělal, tak mě napadá jestli se nepřesměrovává někde na úrovni htaccess.

Obecně Nette bez jakýchkoliv úprav příjímá i vytváří http://localhost/my-module/my-presenter/1. Zkus kdyžtak úplně nový projekt na sandboxu, jestli to bude dělat správně nebo ne.