我的设置有点尴尬。我有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>
我不知道“.......”部分中有什么可能需要更新以反映路径变化。