网站的多个版本,每个版本都有自己的使用Apache的根目录

时间:2011-03-05 19:24:58

标签: apache web directory root

我的网站有多个版本。每个都驻留在自己的文件夹中,例如:

site_v1/  
  index.html  
  page1.html    

site_v2/  
  index.html  
  page1.html  

如何配置apache以使站点的每个版本都有自己的根目录定义?

换句话说,我希望site_v1 / index.html认为根目录是site_v1,而site_v2 / index.html认为根目录是site_v2

2 个答案:

答案 0 :(得分:2)

您正在寻找VirtualHost指令。

Apache manual on virtual hosts

答案 1 :(得分:2)

正如@Pekka所写,您确实正在寻找VirtualHost指令,但我可能会为您的虚拟主机配置添加示例配置。这应放在您的httpd.conf文件中,根据您的喜好进行编辑,并记得填写完整路径:

NameVirtualHost v1.yoursite.com:80
<VirtualHost v1.yoursite.com:80>
    ServerName v1.yoursite.com
    ServerAlias v1.yoursite.com
    DocumentRoot /path/to/site_v1
    ErrorLog /path/to/prefered/error.log
    CustomLog /path/to/prefered/access.log combined
    <Directory /path/to/site_v1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

NameVirtualHost v2.yoursite.com:80
<VirtualHost v2.yoursite.com:80>
    ServerName v2.yoursite.com
    ServerAlias v2.yoursite.com
    DocumentRoot /path/to/site_v2
    ErrorLog /path/to/prefered/error.log
    CustomLog /path/to/prefered/access.log combined
    <Directory /path/to/site_v2>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

如果需要,您可以选择为站点的每个版本使用不同的访问/错误日志。只需更改日志文件的名称/路径,即可完成。 /path/to是网站文件夹的路径,v1.yoursite.com&amp;应将v2.yoursite.com更改为要为每个版本使用的相关域。如果您不想更改日志文件,请删除ErrorLogCustomLog指令,并且我将默认使用httpd.conf中设置的主日志文件