Apache:制作一个虚拟主机子域/另一个虚拟主机的子目录

我的设置有点尴尬。 我有http://sub.main.com映射到我的服务器的IP,但不是http://main.com 。 我在我的服务器上运行两个站点(使用不同的Web框架)。 对于这些网站中的每一个,我都在默认站点中configuration了虚拟主机,这看起来像这样。

<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访问第二个网站

将您的第一个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> 

它应该像添加几行到您的第一个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> 

我不知道你在“…….”部分有什么需要更新以反映path变化。