Jak vypnout divné přesměrování
- Goues
- Člen | 1
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
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 | 2659
Goues:
- Jestli jsi s routerem něco dělal, pošli ho sem celý. Někde bude chyba.
- 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.