在apache中创建动态虚拟主机

时间:2016-07-22 08:42:46

标签: apache webserver apache2 vhosts

我所有的vhost都是一样的,我不想为每个项目创建一个新项目所以我认为可能有一种方法可以匹配project_name environment基于调用该域的域名网络服务器。

我目前的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>

2 个答案:

答案 0 :(得分:1)

听起来更像是在寻找别名或重写,而不是虚拟主机。您可以使用rewrite rules动态查找它们。

答案 1 :(得分:1)

是否可以使用此配置:

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

并使用以下插件通过设置标题来更改ENV:https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj