HTTPS Route – 404 Not Found

- pseudonym
 - Člen | 57
 
Ahojte,
hľadal som, dokonca som aj našiel, len mi to nepomohlo (https://forum.nette.org/…resmerovavat).
Potrebujem vo svojej aplikácii použiť HTTPS routy, v bootstrap.php som v routeri nastavil príznak Route::SECURED a teda keď idem na adresu, ktorú mám v routeri, presmeruje ma na HTTPS na čo Apache vyhodí 404 Not Found. Keď mám tú istú adresu s tými istými parametrami ako HTTP (bez príznaku Route::SECURED), tak to funguje. Neviete niekto poradiť, kde by mohol byť problém?
bootstrap.php
$container->router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$container->router[] = $serviceRouter = new RouteList('Service');
$serviceRouter[] = new Route('service/<action>[/<id>]', 'Default:default', Route::SECURED);
//ostatne definicie rout
//FrontModule, AdminModule ...
				
- enumag
 - Člen | 2118
 
Máš tam mod_ssl? Osobně používám tohle, to mi vypne HTTPS na localhostu, kde mod_ssl nemám.
$secured = (function_exists('apache_get_modules') && in_array('mod_ssl', apache_get_modules())) ? Route::SECURED : 0;
$serviceRouter[] = new Route('service/<action>[/<id>]', 'Default:default', $secured);
					Editoval enumag (9. 1. 2013 15:02)

- pseudonym
 - Člen | 57
 
Super, už to funguje, stačilo aktivovať mod_ssl, ďakujem za pomoc.
Ešte by ma zaujímalo, či je nejako možné konkrétny modul obmedziť iba na HTTPS komunikáciu. Totižto keď teraz zadám http alebo https, tak obe mi to zoberie a funguje to. V bootstrape mám presne to isté, čo som písal v prvom príspevku:
$container->router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$container->router[] = $serviceRouter = new RouteList('Service');
$serviceRouter[] = new Route('service/<action>[/<id>]', 'Default:default', Route::SECURED);
//ostatne definicie rout
//FrontModule, AdminModule ...
				
- pseudonym
 - Člen | 57
 
Na úrovni presenteru to tak funguje, ale akonáhle zadám action, tak ma automaticky nepresmeruje – je potrebné zadávať pre každú akciu vlastnú route?
Možno sa ten server z toho potrebuje len spamätať. Každopádne, ak sa mi s tým niečo podarí spraviť, budem to tu aktualizovať (pre prípad, že by mal niekto v budúcnosti podobný problém).

- pseudonym
 - Člen | 57
 
Čiže, v prípade keď zadám do adresy len http://domena.sk/module/, kde
mám pri tomto module v boostrap.php príznak secured, presmeruje
ma priamo na https. Ak zadám http://domena.sk/module/action/, tak ma automaticky na https
nepresmeruje. Funguje to keď zadám https://domena.sk/module/action/, ale z http na https ma
automaticky nesmeruje. V paneli s routami som si všimol, že pri oboch
prípadoch mi vypíše možnosť „may“, že sa to môže pravdepodobne
mýliť s inou routou:
may	Route	<action>[/<id>]	 presenter = Default
action = default
id = NULL
Front	 Front:Default:module
id = action
samozrejme v tomto prípade je „module“ môj modul a „action“ je akcia z adresy http://domena.sk/module/action/

- pseudonym
 - Člen | 57
 
Routy, ktoré mám v bootstrap.php
$container->router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$container->router[] = $serviceRouter = new RouteList('Service');
$serviceRouter[] = new Route('service/<action>', 'Default:default', Route::SECURED);
$container->router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin', 'Default:');
$adminRouter[] = new Route('zakaznicka-zona/<presenter>/<action>', 'Default:');
$container->router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('kampus/[poschodie/<id>]', 'Reality:kampus');
$frontRouter[] = new Route('kampus/byt[/<id>]', 'Reality:detail');
$frontRouter[] = new Route('kampus/<action>[/<id>]', 'Reality:default');
$frontRouter[] = new Route('galeria/<action>[/<id>]', 'Gallery:default');
$frontRouter[] = new Route('<action>[/<id>]', 'Default:default');
				
- pseudonym
 - Člen | 57
 
Tá, ktorá je v tomto príspevku: https://forum.nette.org/…04-not-found#…
$frontRouter[] = new Route('<action>[/<id>]', 'Default:default'); –
pri tejto je napísané MAY
$serviceRouter[] = new Route('service/<action>', 'Default:default', Route::SECURED); –
pri tejto YES