根据目录创建使用同一域的虚拟主机

根据目录创建使用同一域的虚拟主机

我想要一个应用程序的新版本,它需要全新安装到新的子目录中。
例如,旧版本位于某个位置var\www\html
我需要的新版本位于var\www\5.0

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
<VirtualHost>

这对我有用,www.example.com 我创建了另一个虚拟主机文件,使用它a2ensite来启用它www.example.com/5.0

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.example.com/5.0
    ServerAlias www.example.com/5.0
    DocumentRoot /var/www/5.0
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
<VirtualHost>

但这不起作用。我不希望新版本位于现有的 html 文件夹中。
另外,我不想为新版本创建新的子域,因为我希望它同时使用两个版本。

我怎样才能实现这个目标?

答案1

AServerName不是 URL。它只能是主机名。

你似乎正在寻找Alias而是使用指令将 URL 映射到文件系统位置:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.example.com
    DocumentRoot /var/www/html
    Alias /5.0   /var/www/5.0
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
<VirtualHost>

相关内容