2016-03-31 4 views
2

Ich entwickle mit PHP und Yii2, Apache2 und Ubuntu.Handle Subdomains mit Yii2 (LAMP)

So haben wir Domäne wie domain.com (als Beispiel). Jetzt muss ich einige Seiten als page1.domain.com als Landungen erstellen, aber sie werden automatisch erstellt?

Wie sollte ich vhost für diesen einrichten? Ich weiß nicht, welcher Subdomainname sein wird (kann irgendein a-Z0-9 sein). Soll ich einen neuen vhost erstellen und aktivieren oder kann ich ihn irgendwie auf einem vorhandenen aktivieren?

Nächstes Problem ist URL auf page1.domain.com Wenn wir page1.domain.com alle Verbindungen geöffnet sind wie „http://page1.domain.com/xxx“ aber ich brauche „http://domain.com/xxx

Also Hauptsache ist, ganz gleich, Basis-URL zu ändern, was Domäne aber reagiert auf Es ist Subdomain, wenn sie existiert.

Antwort

0

Zwei Dinge gibt:

1) Aktive Sub-Domain Wildcard

In Ihrer vhosts Konfigurationsdatei hinzufügen:

ServerAlias *.example.com 

Dann haben Sie einen Eintrag in Ihrem DNS hinzuzufügen. Für localhost, können Sie es nicht in Ihrer Hosts-Datei direkt hinzufügen:

https://serverfault.com/questions/319518/add-wildcard-subdomains-to-localhost-with-apache

2) Erstellen Sie die Regeln

Sie ein Muster in Ihrem URL-Manager hinzufügen könnten die Sub-Domains zu einem passen Controller-Handler.

'http://(\d+).domain.com/' => 'controller/index', 

Weitere Informationen:

[1] http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html#rules-with-server-names

[2] http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html

+0

Gibt es eine Lösung für irgendeine Art von 'http:. // (\ d +) * ** com/'=>' Controller/Index ', Domäne kann dynamisch (nicht statisch) sein. Code-Verwendung in mehreren Websites. – user1954544

+0

Für diesen Fall haben Sie die Aliase. @web ist die Basis-URL für Ihre App, aber ich habe sie nie in URL-Regeln getestet. info: http://www.yiiframework.com/doc-2.0/guide-concept-aliases.html –