Apache virtualhost :所有域的特定主机(子域)
Apache virtualhost : a specific host (subdomain) for all domains
我的配置在生产服务器上接受许多域(由上游代理过滤)。此 Apache conf 在 80 端口上接受 所有域 并调用 /var/prod/
作为 DocumentRoot
.
我想要的是仅重定向所有 beta 子域(http://beta.domain1.ch
、http://beta.domain2.ch
、http://beta.domain3.ch
、...)域到 /var/beta/
DocumentRoot 文件夹。
是否可以像下面这样在 virtualhost 标记中使用掩码?
<VirtualHost beta.*:80>
或者我是否需要将我所有的域都放在 ServerAlias
中?
<VirtualHost *:80>
DocumentRoot /var/beta/
VirtualDocumentRoot /var/beta/
ServerAlias beta.domain1.ch
ServerAlias beta.domain2.ch
ServerAlias beta.domain3.ch
ServerAlias beta.domain4.ch
...
</virtualhost>
<VirtualHost *:80>
DocumentRoot /var/prod/
VirtualDocumentRoot /var/prod/
ServerAlias *.domain1.ch
ServerAlias *.domain2.ch
ServerAlias *.domain3.ch
ServerAlias *.domain4.ch
...
</virtualhost>
感谢帮助
由于 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>
Working on Apache 2.2, I need to test it on 2.4.
我的配置在生产服务器上接受许多域(由上游代理过滤)。此 Apache conf 在 80 端口上接受 所有域 并调用 /var/prod/
作为 DocumentRoot
.
我想要的是仅重定向所有 beta 子域(http://beta.domain1.ch
、http://beta.domain2.ch
、http://beta.domain3.ch
、...)域到 /var/beta/
DocumentRoot 文件夹。
是否可以像下面这样在 virtualhost 标记中使用掩码?
<VirtualHost beta.*:80>
或者我是否需要将我所有的域都放在 ServerAlias
中?
<VirtualHost *:80>
DocumentRoot /var/beta/
VirtualDocumentRoot /var/beta/
ServerAlias beta.domain1.ch
ServerAlias beta.domain2.ch
ServerAlias beta.domain3.ch
ServerAlias beta.domain4.ch
...
</virtualhost>
<VirtualHost *:80>
DocumentRoot /var/prod/
VirtualDocumentRoot /var/prod/
ServerAlias *.domain1.ch
ServerAlias *.domain2.ch
ServerAlias *.domain3.ch
ServerAlias *.domain4.ch
...
</virtualhost>
感谢帮助
由于 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>
Working on Apache 2.2, I need to test it on 2.4.