2016-07-22 24 views
0

Alle meine vhost sind die gleiche Weise und ich möchte nicht für jedes Projekt ein neues erstellen, also dachte ich, es gibt vielleicht eine Möglichkeit, die project_nameenvironment basierend auf der Domäne, die den Webserver aufrufen.Erstellen Sie einen dynamischen vhost in Apache

Mein aktueller Vhost:

<VirtualHost *:80> 
    DocumentRoot "/Users/l91/Development/<project_name>/web" 
    ServerName <project_name>.<environment> 

    <Directory "/Users/l91/Development/<project_name>/web"> 
     Options Indexes FollowSymlinks 
     SetEnv SYMFONY_ENV <environment> 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

Antwort

1

Es klingt eher wie Sie für Aliase oder Neufassungen suchen, anstatt ein virtueller Host. Sie können wahrscheinlich rewrite rules verwenden, um sie dynamisch zu finden.

+0

Sie wissen, wie ich die Umwelt mit sich einstellen könnte? 'SetEnv SYMFONY_ENV ' –

+0

Ja, Sie können [Umgebungsvariablen setzen] (http://httpd.apache.org/docs/current/rewrite/flags.html#flag_e) auch damit. – RVT

+0

Haben Sie ein Beispiel haben sie festlegen, indem Header bin ich nicht sehr gut in dieser Konfiguration Dinge habe ich versucht, diese SetEnv SYMFONY_ENV dev SetEnvIf X-SYMFONY_ENV „Bühne“ SYMFONY_ENV Bühne SetEnvIf X-SYMFONY_ENV „prod“ SYMFONY_ENV prod aber es bleibt "dev' –

1

Hat es mit dieser Konfiguration zu arbeiten:

NameVirtualHost *:80 

<Directory "/Users/l91/Development/Websites"> 
    Options Indexes FollowSymlinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

UseCanonicalName Off 
VirtualDocumentRoot /Users/l91/Development/Websites/%0/web 

SetEnvIf X-SYMFONY_ENV "^prod$" SYMFONY_ENV=prod 
SetEnvIf X-SYMFONY_ENV "^stage$" SYMFONY_ENV=stage 
SetEnvIf SYMFONY_ENV "^$" SYMFONY_ENV=dev 

und Verwendung der folgenden Plugin ENVs durch einen Kopf Einstellung zu ändern: https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj