Absolutní routa pro localhost

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

Dělám na aplikaci, která poběží na více různých doménách / subdoménách a v databázi bude nastaveno, co na které doméně / subdoméně bude zobrazeno.

Routu vyrábím zjednodušeně takhle:

$url = 'http://example.com'; // získám url z databáze
$router[] = new Route('//' . $url, $params);

Tohle krásně funguje na produkci, kde jsou rozumné url. Na localhostu mám v databázi http://localhost/xxx a to nefunguje (když dojdu na stránku http://localhost/xxx, tak mi to zahlásí No route for HTTP request.

Je to chyba někde jinde v kódu, nebo to opravdu takhle nemůže fungovat?

Marek Šneberger
Člen | 130
+
+1
-

Ta routa se správně nematchne, protože localhost/xxx není platná doména. Vytvoř si pro ten projekt virtualhost.

greeny
Člen | 405
+
0
-

Virtualhosty jsou fajn a vyřeší ten problém, ale můj primární cíl byl, aby se nemusely vyrábět virtualhosty vzhledem k povaze projektu (přidávání a mazání url jsou na denním pořádku).

Je možné použít např. 127.0.0.1 místo localhost? nebo to neobejdu a virtualhosty jsou jediná možnost?

Myiyk
Člen | 321
+
0
-

Problém je na straně nette nebo serveru?

Možná ti nějak pomůže použití proměnných %domain% a %tld%

@MarekŠneberger router matchne jako doménu IPv4, IPv6, localhost i klasické domény https://github.com/…riables.phpt

greeny
Člen | 405
+
0
-

Problém byl v zadávání http:// před url… Když dám do masky jen „localhost/xxx“ nebo „example.com/xxx“, tak už to funguje :)

Díky

Editoval greeny (9. 3. 2016 12:48)