Apache:将一个虚拟主机设为另一个虚拟主机的子域/子目录

Apache:将一个虚拟主机设为另一个虚拟主机的子域/子目录

我的设置有点尴尬。我有http://sub.main.com映射到我的服务器的 IP,但没有映射到http://main.com。我的服务器上运行着两个网站(使用不同的 Web 框架)。对于每个网站,我在默认网站中配置了虚拟主机,如下所示。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    ServerName "sub.main.com"
    DocumentRoot "/var/www"
    ....
</VirtualHost>

<VirtualHost *:80>
    ServerName appsphere.djangoserver
    Alias /media /srv/www/appsphere/media/
    ......
    ......
    WSGIScriptAlias / /srv/www/appsphere/apache/django.wsgi

</VirtualHost>

现在我如何才能使我的第二个虚拟主机成为第一个虚拟主机的子目录/子域。我想使用http://sub.main.com/appsphere

答案1

将第一个 VirtualHost 声明更改为以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    ServerName "sub.main.com"
    DocumentRoot "/var/www"

    Alias /appsphere/media /srv/www/appsphere/media
    WSGIScriptAlias /appsphere /srv/www/appsphere/apache/django.wsgi

</VirtualHost>

答案2

这应该很简单,只需向您的第一个 VirtualHost 添加几行即可:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    ServerName "sub.main.com"
    DocumentRoot "/var/www"

    Alias /appsphere/media /srv/www/appsphere/media/
    ......
    ......
    WSGIScriptAlias /appsphere /srv/www/appsphere/apache/django.wsgi
</VirtualHost>

我不知道“.......”部分中有什么可能需要更新以反映路径变化。

相关内容