虚拟主机配置问题

VirtualHost configuration issue

我有两个应用程序要通过 Apache 中的端口 80 在同一 IP 主机上提供服务。为此,我定义了以下虚拟主机:

NameVirtualHost *:80

<VirtualHost *:80>

    DocumentRoot "/var/www/wsgi/rest_api"
    ServerName api

    WSGIDaemonProcess rest_api user=gms  threads=5
    WSGIScriptAlias /api /var/www/wsgi/rest_api/rest_api.wsgi
    WSGIPassAuthorization On


    <Directory /var/www/wsgi/rest_api/rest_api>
        Order deny,allow
        Allow from all
        Options  +Indexes
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "/var/www/extjs/cardiocatalogqt"
    ServerName cardiocatalogqt
    Alias /cardiocatalogqt /var/www/extjs/cardiocatalogqt
    <Directory /var/www/extjs/cardiocatalogqt>
        Options Indexes FollowSymLinks
        AllowOverride None
        Order Deny,Allow
        Allow from all
    </Directory>
</VirtualHost>

问题是只有列表中的第一个被识别(它们都是独立工作的)。为了让这两个独立于顺序一起工作,我缺少什么?

编辑

由于跨域(包括主机名和端口)的 CORS 身份验证问题,我试图避免使用不同的服务器名称。我想要的只是两条不同的路径来相应地解决:http://test.com/cardiocatalogqt and http://test.com/api

请使用不同的服务器名称和不同的文档根路径创建两个不同的虚拟主机

<VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

此外,将服务器名称添加到主机文件中。

mod_alias 是我想要的,ala http://httpd.apache.org/docs/2.2/mod/mod_alias.html

很有魅力!

编辑

更具体地说,我的配置如下所示:

WSGIDaemonProcess rest_api user=gms  threads=5
WSGIScriptAlias /api /var/www/wsgi/rest_api/rest_api.wsgi
WSGIPassAuthorization On

<Directory /var/www/wsgi/rest_api/rest_api>
    Order deny,allow
    Allow from all
    Options  +Indexes
</Directory>

<VirtualHost *:80>
    DocumentRoot "/var/www/extjs/cardiocatalogqt"
    ServerName cardiocatalogqt
    Alias /cardiocatalogqt /var/www/extjs/cardiocatalogqt
    <Directory /var/www/extjs/cardiocatalogqt>
        Options Indexes FollowSymLinks
        AllowOverride None
        Order Deny,Allow
        Allow from all
    </Directory>
</VirtualHost>