Kanonizace a použití url bez/s www

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

Zdravím,

prvně bych se chtěl zeptat, nette defaultně neredirectuje adresu bez www (www.domena.tld) a s www (domena.tld)?

Pokud tedy ne, jde redirectnout nějak jednoduše pomocí rout?

Díky za odpovědi.

Felix
Nette Core | 1196
+
0
-

Spis to vyres pomoci .htaccess. Mozna, ze by fungovalo i neco jako (psano z hlavy).

$router[] = new Route("//[www!].example.com", "Homepage:default", Route::ONE_WAY);

Edit: thx

Editoval Felix (20. 9. 2012 0:00)

Marek Šneberger
Člen | 130
+
0
-

@Felix spíš

$router[] = new Route("//[www!].example.com", "Homepage:default", Route::ONE_WAY);
svagi
Člen | 15
+
0
-

Toto řešení mě taky napadlo, ale bohužel ho nemůžu rozchodit, daná routa nemá nikdy shodu.
Nezbývá než natvrdo přes .htaccess, to jde, ale není to tak elegantní…

Editoval svagi (19. 9. 2012 23:29)

Majkl578
Moderator | 1364
+
0
-

Vykřičník se píše na začátek a tečka by měla být uvnitř nepovinné části (jelikož není povinná), tudíž maska bude vypadat:

'//[!www.]example.com'

Zároveň ta routa nebude jednosměrná, bude se to chovat tak, že sežere obojí, ale vygeneruje jen jedno:

$router[] = new Route('//[!www.]example.com/...', '...');

Pokud bys chtěl kanonickou adresu bez www, jen odstraníš ten vykřičník.

Je to i v dokumentaci.