Subdoména admin na jakékoli doméně

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

Zdravím po delší době jsem se opět dostal k routování. A mám problém potřebuju udělat 2 routy jednu která matchne subdoménu admin na jakékoli doméně a druhou která se ji naopak vyhne. No a zasekl jsem se na mrtvém bodě nevím jak udělat onu část jakékoli domény.

zkouším to zatím co nejjednodušeji ale nic… :-/

$router[] = new Route("//admin.<?([^/]+)>/<lang>/<module>/[<action>/]<id [0-9]+>", array(
	'module' => "Dashboard",
	'presenter' => "Backend",
	'action' => "default",
	'id' => NULL,
));

$router[] = new Route("//<?([^/]+)>/<lang>/<module>/[<action>/]<id [0-9]+>", array(
	'module' => "Page",
	'presenter' => "Frontend",
	'action' => "default",
	'id' => NULL,
));

EDIT:
tohle chodí…

"//admin.<domain [^/]+>/<lang>/<module>/[<action>/]<id [0-9]+>"
"//<domain [^/]+>/<lang>/<module>/[<action>/]<id [0-9]+>"

ale mít persistentní domain mě nepřipadá jako nejčistější řešení…

srigi
Nette Blogger | 558
+
0
-

Mozno skus „NOT lomitko“ nahradit za striktnejsi vycet [a-z-_] alebo \w.

na1k
Člen | 288
+
0
-

A co něco takového?
<domain (?!admin)[^/]+>

Patrik Votoček
Člen | 2221
+
0
-

@srigi: problém je že ve foo parametrech se speciální znaky pro reguláry escapují nevím proč… :-(
@na1k jak říkám nechci používat „persistentní“ <domain>

kravčo
Člen | 721
+
0
-

nechýba ti medzera za otáznikom v definícii foo parametra?

//admin.<? [^/]+>/<lang>/<module>/[<action>/]<id [0-9]+>
resp.
//<? [^/]+>/<lang>/<module>/[<action>/]<id [0-9]+>

+ zátvorky okolo celého reguláru by mali byť zbytočné

David Grudl
Nette Core | 8218
+
0
-

Jak by se na takto zadanou routu dal vytvořit link?