Automaticke zakladani subdomen a routovani

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

Ahoj,
snazim se prijit na to, jak vyresit automaticke zakladani subdomen. Tedy neco jako skola.web.comtestovani.web.com

Nasel jsem si, ze by to mohlo jit rewritu a to tak, ze si vytvorim adresar a rewrite mi podle jeho nazvu vytvori tu subdomenu (skola nebo testovani).

Problem ale je, ze tedka nevim, jak na routovani v bootstrap.php.
Tedka v nem mam neco podobneho:

	$router[] = new Route('index.php', array(
		'module' => 'Front',
		'presenter' => 'Default',
	), Route::ONE_WAY);

	$router[] = new Route('<presenter>/<action>/<id>', array(
		'presenter' => 'Front:Default',
		'action' => 'default',
		'id' => NULL,
	));

Zkusil jsem si jak do document_root, tak do app adresare vytvorit nejaky testovaci adresa, napr. skola a do toho adresare vlozit soubor index.php s nejakym echem. Po zadani skola.web.com se ale nic nestalo a nacetl se normalne index.

Chctel bych se zeptat, zda byste nemeli tip na to, jak s timhle prikladem pohnout, kde je asi nejvetsi problem.

Dekuji, Manny

mancze
Člen | 58
+
0
-

Tak zakládání subdomén řeší hosting, takže záleží na tvým providerovi. Někteří to mají automaticky, někteří ne, někteří za poplatek, jiní ne. Adresářové schéma se také liší hosting od hostingu.

Ve skriptech ale asi budeš potřeba vyřešit linkování (pokud se budeš chtít odkazovat křížem mezi subdoménama). Pak budou routy ve tvaru:

$router[] = new Route('//[<subdomain>.]example.com/<presenter>/<action>/<id>', array(
        'presenter' => 'Front:Default',
        'action' => 'default',
        'id' => NULL,
	'subdomain' => 'www',
));