stejné routy pro www.domena.cz a domena.cz

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

Potřeboval bych prosím poradit s nastavením rout v Nette 2.1 aby brali různé aliasy subdomen.

Potřebuji některé moduly aplikace routovat na subdomeny. Na serveru jsem si zřídil alias pro daný modul. Front modul jsem pak musel přenastavit na absolutní url (bez absolutní url to generovalo odkaz na Front subdomena.domena.cz místo domena.cz nebo www.domena.cz) a potřeboval bych u těch rout nastavit aby brali jak domena.cz tak www.domena.cz aniž bych musel mít dvojnásobný routy.

je pro to nějaká proměnná podobně jako %domain%? A nešlo by pro to nastavit rovnou i url vývojového serveru který je ve tvaru sub1.sub2.domena.cz?

FrontModule
AdminModule
SubdomainModule
$router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('[<lang [a-z]{2}>/]admin/<presenter>/<action>[/<id>]', 'Home:default');

$router[] = $subdomainRouter = new RouteList('Subdomain');
$subdomainRouter[] = new Route('//subdomain.%domain%/<presenter>[/<action>[/<id>]]', 'Presenter:default');

$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('//%domain%/[<lang [a-z]{2}>/]', 'Home:default');
Jan Tvrdík
Nette guru | 2595
+
0
-

Co prostě jenom:

new Route('//[www.]%domain%/[<lang [a-z]{2}>/]', 'Home:default');

?

nat
Člen | 12
+
0
-

aha… tak to mě nenapadlo :-(

Jiří Nápravník
Člen | 710
+
0
-

Btw není tohle lepší řešit redirectem v .htaccess? protože pak budeš mít duplicitní obsah na www a non-www verzi

Jan Tvrdík
Nette guru | 2595
+
0
-

@Jiří Nápravník: Nebude, viz dokumentace routování. Řešit to přesměrování na úrovni serveru má smysl spíš kvůli výkonosti.