Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache virtualhost:所有域的特定主机(子域)_Apache_.htaccess_Subdomain_Virtualhost - Fatal编程技术网

Apache virtualhost:所有域的特定主机(子域)

Apache virtualhost:所有域的特定主机(子域),apache,.htaccess,subdomain,virtualhost,Apache,.htaccess,Subdomain,Virtualhost,我有一个在生产服务器上接受多个域的配置(由上游代理过滤)。此Apache配置接受80端口上的所有域,并调用/var/prod/作为DocumentRoot 我只想重定向所有beta子域(http://beta.domain1.ch,http://beta.domain2.ch,http://beta.domain3.ch,…)用于每个域,以/var/beta/文档根文件夹 virtualhost标记中的掩码是否可以如下所示 <VirtualHost beta.*:80> 感谢您的帮

我有一个在生产服务器上接受多个域的配置(由上游代理过滤)。此Apache配置接受80端口上的所有域,并调用
/var/prod/
作为
DocumentRoot

我只想重定向所有beta子域(
http://beta.domain1.ch
http://beta.domain2.ch
http://beta.domain3.ch
,…)用于每个域,以
/var/beta/
文档根文件夹

virtualhost标记中的掩码是否可以如下所示

<VirtualHost beta.*:80>

感谢您的帮助,因为VirtualHost和serverNname不接受通配符,实际上serverAlias接受通配符。这对我有用:

<VirtualHost *:80>
    ServerName          beta-server.main-domain.com
    ServerAlias         beta.*
    DocumentRoot        /var/beta/
    VirtualDocumentRoot /var/beta/
</virtualhost>

<VirtualHost *:80>
    ServerName          prod-server.main-domain.com
    ServerAlias         www.*
    DocumentRoot        /var/prod/
    VirtualDocumentRoot /var/prod/
</virtualhost>

ServerName beta-server.main-domain.com
服务器别名测试版*
DocumentRoot/var/beta/
VirtualDocumentRoot/var/beta/
ServerName prod-server.main-domain.com
服务器别名www*
DocumentRoot/var/prod/
VirtualDocumentRoot/var/prod/
在Apache2.2上工作时,我需要在2.4上测试它


ServerAlias用于在同一VirtualHost中定义第二个服务器名,而不是您想要的。实际上它是。基于名称的虚拟主机的服务器别名si。
<VirtualHost *:80>
    ServerName          beta-server.main-domain.com
    ServerAlias         beta.*
    DocumentRoot        /var/beta/
    VirtualDocumentRoot /var/beta/
</virtualhost>

<VirtualHost *:80>
    ServerName          prod-server.main-domain.com
    ServerAlias         www.*
    DocumentRoot        /var/prod/
    VirtualDocumentRoot /var/prod/
</virtualhost>