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
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
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)