Apache2:VirtualHost 和 Django

Apache2:VirtualHost 和 Django

我们托管两个网站,目前没有域名,因此我们使用 IP 地址。我希望通过以下方式访问这两个网站:

http://123.123.123.123/Site1
http://123.123.123.123/Site2

Site1 是一个小型的关于我们类型站点。Site2 是一个基于 Django 的文件上传站点。

这是我的 httpd.conf 文件:

WSGIPythonPath /var/www/Site2/src/site
Listen 80
NameVirtualHost *:80

# Site1
<VirtualHost *:80>
    ServerName Site1
    DocumentRoot /var/www/Site1
</VirtualHost>

# Site2
<VirtualHost *:80>
    ServerName Site2

    WSGIScriptAlias /Site2 /var/www/Site2/src/site/wsgi.py

    <Directory /var/www/Site2/src/site>
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>

    Alias /static/ /var/www/Site2/src/site/static/

    <Directory /var/www/Site2/src/site/static>
        Order deny,allow
        Allow from all
    </Directory>

    <Location /var/www/Site2/src/site/static/>
        AuthType Basic
        AuthName "site"
        AuthBasicProvider wsgi
        WSGIAuthUserScript /usr/local/wsgi/scripts/auth.wsgi
        Require valid-user
    </Location>
</VirtualHost>

123.123.123.123/Site1 工作正常。访问 123.123.123.123/Site2 只会得到/Site2 的索引页。

如果我重新排序 VirtualHost 声明,则 Site2 可以工作,但 Site1 不工作。

我是否忽略了一些至关重要的东西?

我在许多搜索结果和论坛上都看到过这个问题,但我还没有找到解决方案。

答案1

您需要使用Alias指令而不是虚拟主机,因为您正在处理单个域。

请参阅此帖子的已接受答案:

https://stackoverflow.com/questions/9505689/virtual-hosts-on-apache-with-urls-like-subfolders

相关内容