Apache 虚拟主机还是别的什么?
我想建立以下结构: staging.mydomain.com/client/projectname production.mydomain.com/client/projectname 对于新项目,我在my/home/-文件夹中创建以下文件夹:Apache 虚拟主机还是别的什么?,apache,virtualhost,Apache,Virtualhost,我想建立以下结构: staging.mydomain.com/client/projectname production.mydomain.com/client/projectname 对于新项目,我在my/home/-文件夹中创建以下文件夹: “clientname”-文件夹 “项目名称”-文件夹 暂存文件夹 生产文件夹 我制作了一个文件,我启用了“a2ensite”,包括下面显示的内容 在“生产”和“登台”方面,它与clientA配合得很好,但是clientB当然不会工作,因为它
- “clientname”-文件夹
- “项目名称”-文件夹
- 暂存文件夹
- 生产文件夹
- “项目名称”-文件夹
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/mysite
</VirtualHost>
<VirtualHost *:80>
ServerName production.mydomain.com
ServerAlias production.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientA/projectA/production
Alias /clientA/projectA /home/clientA/projectA/production
</VirtualHost>
<VirtualHost *:80>
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientA/projectA/staging
Alias /clientA/projectA /home/clientA/projectA/staging
</VirtualHost>
<VirtualHost *:80>
ServerName production.mydomain.com
ServerAlias production.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientB/projectA/production
Alias /clientB/projectA /home/clientB/projectA/production
</VirtualHost>
<VirtualHost *:80>
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientB/projectA/staging
Alias /clientB/projectA /home/clientB/projectA/staging
</VirtualHost>
服务器名www.mydomain.com
ServerAlias mydomain.com
DirectoryIndex.html index.php
DocumentRoot/home/mysite
ServerName production.mydomain.com
ServerAlias production.mydomain.com
DirectoryIndex.html index.php
DocumentRoot/home/clientA/projectA/production
别名/clientA/projectA/home/clientA/projectA/production
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex.html index.php
DocumentRoot/home/clientA/projectA/staging
别名/clientA/projectA/home/clientA/projectA/staging
ServerName production.mydomain.com
ServerAlias production.mydomain.com
DirectoryIndex.html index.php
DocumentRoot/home/clientB/projectA/production
别名/clientB/projectA/home/clientB/projectA/production
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex.html index.php
DocumentRoot/home/clientB/projectA/staging
别名/clientB/projectA/home/clientB/projectA/staging
在“生产”和“登台”方面,它与clientA配合得很好,但是clientB当然不会工作,因为它类似于被clientA覆盖,对吗
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/mysite
</VirtualHost>
<VirtualHost *:80>
ServerName production.mydomain.com
ServerAlias production.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientA/projectA/production
Alias /clientA/projectA /home/clientA/projectA/production
</VirtualHost>
<VirtualHost *:80>
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientA/projectA/staging
Alias /clientA/projectA /home/clientA/projectA/staging
</VirtualHost>
<VirtualHost *:80>
ServerName production.mydomain.com
ServerAlias production.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientB/projectA/production
Alias /clientB/projectA /home/clientB/projectA/production
</VirtualHost>
<VirtualHost *:80>
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientB/projectA/staging
Alias /clientB/projectA /home/clientB/projectA/staging
</VirtualHost>
那么,您为同一服务器名定义了两个vhost:
<VirtualHost *:80>
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex index.html index.php
DocumentRoot /home/clientA/projectA/staging
Alias /clientA/projectA /home/clientA/projectA/staging
</VirtualHost>
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex.html index.php
DocumentRoot/home/clientA/projectA/staging
别名/clientA/projectA/home/clientA/projectA/staging
及
ServerName staging.mydomain.com
ServerAlias staging.mydomain.com
DirectoryIndex.html index.php
DocumentRoot/home/clientB/projectA/staging
别名/clientB/projectA/home/clientB/projectA/staging
第二个将被忽略,因为您已经为服务器“staging.mydomain.com”和“production.mydomain.com”设置了vhost
当您定义这些vhost,并将它们定义为它承载的ServerName
称为“staging.mydomain.com”
当您键入
http://staging.mydomain.com/
,您希望它转到哪个vhost?其中有两个主机声称拥有该主机名。您必须给这些vhost不同的名称。是的,我看到了这个问题。但是,如果我们只放一个vhost用于暂存,一个用于生产,我如何使用它使其与我的结构一起工作:指向/clientA/projectA/staging,指向/clientB/projectA等等……?没有人对此有线索吗?@user1618992您这样做,文档根是/home