Generování nuceně HTTPS odkazu v Nette 2.4

Šaman
Člen | 2659
+
0
-

Ahoj, potřebuji jednu konkrétní routu mít forced HTTPS. Flag ::SECURED je deprecated a nepomáhá, řešení z dokumentace také ne. Následující kód zařidí, že aplikace běží defaultně na http, ale ta jedna routa co má být na HTTPS se sice zachytí, ale link se generuje HTTP. Pokud jsem defaultně na HTTPS, tak se generuje také na HTTPS.

A pořád mi je divné psát vynuceni protoklu do masky. Opravdu se to má dělat jak píší v dokumentaci ?*

$router[] = new Route('https://%domain%/%basePath%/key/search-secured', 'Key:search'); # nuceně HTTPS link pro hledání klíčů
$router[] = new Route('http://%domain%/%basePath%/<presenter>/<action>[/<id>]', 'Homepage:default');

(*) A propo – zástupný znak %host% (uvedený v tom prvním odkazu) asi neexistuje, rozhodně mi nefungoval.

P.S. Jde mi o generování odkazu – ten pak vkládám do JS kvůli ajaxovému našeprávači. Kdyby to byl běžný odkaz a ja na něj přešel, tak mě to přesměruje. Ale já potřebuji vygenerovat rovnou HTTPS odkaz, ať jsem, či nejsem na HTTPS stránce.

Editoval Šaman (8. 5. 2020 3:19)

David Grudl
Nette Core | 8218
+
0
-

A ono ti to nefunguje, nebo proč se ptáš?

Šaman
Člen | 2659
+
0
-

Nefungovalo to, ale teď jsem to zkoušel na čistém sandboxu a funguje to, sorry. S těmi zástupnými znaky jsem došel k tomuhle zápisu, jiné mi užíraly kusy adresy na localhostu, nebo na testovacím serveru, kde je projekt až na doméně tdruhé úrovně.

$router[] = new Route('https://%host%/%basePath%/<presenter>/<action>[/<id>]', 'Homepage:default');