在apache中创建动态vhost

在apache中创建动态vhost,apache,webserver,apache2,vhosts,Apache,Webserver,Apache2,Vhosts,我所有的vhost都是相同的方式,我不想为每个项目创建一个新的项目,所以我认为可能有一种方法可以根据调用Web服务器的域匹配项目名称环境 我当前的虚拟主机: <VirtualHost *:80> DocumentRoot "/Users/l91/Development/<project_name>/web" ServerName <project_name>.<environment> <Directory "/Us

我所有的vhost都是相同的方式,我不想为每个项目创建一个新的项目,所以我认为可能有一种方法可以根据调用Web服务器的域匹配
项目名称
环境

我当前的虚拟主机:

<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>

DocumentRoot“/Users/l91/Development//web”
服务器名。
选项索引跟随符号链接
SetEnv SYMFONY_ENV
允许超越所有
命令允许,拒绝
通融

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

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

确实使用了此配置:

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
NameVirtualHost*:80
选项索引跟随符号链接
允许超越所有
命令允许,拒绝
通融
UseCononicalName关闭
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

并使用以下插件通过设置标题来更改环境:

使其能够使用此配置:

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
NameVirtualHost*:80
选项索引跟随符号链接
允许超越所有
命令允许,拒绝
通融
UseCononicalName关闭
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

并使用以下插件通过设置标题来更改环境:

您知道我如何使用它设置环境吗<代码>SetEnv SYMFONY_ENV
是的,你也可以用它。你有没有一个按标题设置的示例我不太擅长这种配置我尝试了这个SetEnv SYMFONY_ENV dev SetEnvIf X-SYMFONY_ENV“stage”SYMFONY_ENV stage SetEnvIf X-SYMFONY_ENV“prod”SYMFONY_ENV prod但是它一直是
dev
你知道我如何用它来设置环境吗<代码>SetEnv SYMFONY_ENV是的,你也可以用它。你有没有一个按页眉设置的示例我不太擅长这种配置的东西我尝试了这个SetEnv SYMFONY_ENV dev SetEnvIf X-SYMFONY_ENV stage SYMFONY_ENV stage SetEnvIf X-SYMFONY_ENV“prod”SYMFONY_ENV prod,但它一直是
dev