Přesměrování na kakonickou adresu volá action

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

Ahoj,

je možné, že se akce, na kterou směřují dvě adresy se provede i při přesměrování z nekanonické na kanonickou adresu?

Takže:
adresa nekanonická: /services/update
adresa kanonická: /user/update

nejprve se aktualizační kód v actionUpdate provede při /services/update a následně znovu při okamžitém automatickém přesměrování na adresu /user/update?

Pokud je to tak, proč to tak je?

Díky za vysvětlení

David Matějka
Moderator | 6445
+
0
-

ano, kanonizace url se provadi po action* metode

KrawN
Člen | 17
+
+1
-

matej21 napsal(a):

ano, kanonizace url se provadi po action* metode

díky za reakci, má to nějaký praktický důvod?

Podle mě kanonizace nesouvisí s žádným prováděním čehokoliv.

David Matějka
Moderator | 6445
+
+1
-

@KrawN: bylo to tak proste napsany :) imho proto, ze v action jeste muzes nejak upravit parametry apod.

muzes primo provest kanonizaci pomoci

$this->canonicalize();

(do startupu nebo do action*)

ale nevim, jestli spise nebude problem, ze delas v action* co nemas – ruzne akce, updaty apod by se mely vetsinou dit v handle* metodach, ve zpracovani formulare apod. o co se presne jedna v tvem pripade?

KrawN
Člen | 17
+
0
-

matej21 napsal(a):

@KrawN: bylo to tak proste napsany :) imho proto, ze v action jeste muzes nejak upravit parametry apod.

muzes primo provest kanonizaci pomoci

$this->canonicalize();

(do startupu nebo do action*)

ale nevim, jestli spise nebude problem, ze delas v action* co nemas – ruzne akce, updaty apod by se mely vetsinou dit v handle* metodach, ve zpracovani formulare apod. o co se presne jedna v tvem pripade?

V podstatě jsem si chtěl jen ulehčit práci a generuji jednorázové heslo v akci, ve které zároveň uživatele přihlásím. Vygenerování a přihlášení je podmíněno tím, že v GET parametru je hash starého hesla. Ovšem když se akce provede 2× za sebou, jednorázové heslo samozřejmě nemá stejný hash, jak přišel v parametru. Jelikož je na tuto službu externí odkaz, používám alias se zástupnou adresou.

Canonicalize před vykonáním kódu v akci to vyřešilo, děkuji!