Presenter::ca­nonicalize() ignoruje vícenásobná lomítka

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

Nejspíš jsem narazil na drobnou chybu v Presenter::canonicalize().

Uvedená metoda neprovede přesměrování, pokud jsou v jinak kanonickém URL vícenásobná lomítka. Např. http://example.com/presenter//action/ by podle mě mělo být přesměrováno na http://example.com/presenter/action/.

Problém jsem testoval na rev. 231. Řešením je změnit

$this->getHttpRequest()->getUri()->isEqual($uri)

na

$this->getHttpRequest()->getOriginalUri()->isEqual($uri)

Těžko však říct, jestli to něco jiného nerozbije – nejspíš ano.

David Grudl
Nette Core | 8144
+
0
-

Rozbije :-(

Ale vím o tom a budu to řešit.