Simulace URL adresy pro lokalizaci

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

Dobrý den, mám následující routy:

/**
	 * @return Nette\Application\IRouter
	 */
	public function createRouter()
	{
		$router = new RouteList();
		$router[] = new Route('install/', 'Install:default');
		$router[] = new Route('admin/', 'Administration:default');
		$router[] = new Route('administration/', 'Administration:default');
		$router[] = new Route('<frontend_language=cz>/[<content_type>][/<content_id>-][<slug>]', 'Homepage:default');
		return $router;
	}

Mým cílem je aby adresy nebyly jen ve tvaru www.neco.net/…/1-testovaci, ale i cz.neco.net/articles/1-testovaci a www.neco.cz/…/1-testovaci. Jak mám nejlépe postupovat?

Tomáš Kolinger
Člen | 136
+
0
-

Třeba takto

// na jednu routu musíš dát ONE_WAY flagu, aby se ti nevytvářeli duplicitní URL

// jazyk v domene, zajisti aby subdomény opravdu směřovali na nettí index.php, absolutní url dej jako první
$router[] = new Route('//<lang=cz cz|en>.neco.net/<presenter>[/<action>][/<id>-<slug>]', 'Homepage:default', Route::ONE_WAY);

// jazyk v parametru, pokud je cz, tak se v URL neukaze
$router[] = new Route('<lang=cz cz|en>/<presenter>[/<action>][/<id>-<slug>]', 'Homepage:default');

Editoval Tomáš Kolinger (26. 2. 2014 14:14)