Мы размещаем два сайта и на данный момент не имеем доменного имени, поэтому мы используем 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 - нет.
Я упускаю что-то невероятно важное?
Я видел, как эта проблема возникала в ряде результатов поиска и на форумах, но пока не нашел решения.
Вам нужно использовать Alias
вместо виртуального хоста, поскольку вы имеете дело с одним доменом.
См. Принятый ответ на этот пост:
https://stackoverflow.com/questions/9505689/virtual-hosts-on-apache-with-urls-like-subfolders