Назад | Перейти на главную страницу

Apache: создание поддомена / подкаталога одного виртуального хоста для другого виртуального хоста

Моя установка немного неудобная. у меня есть http://sub.main.com сопоставлен с IP моего сервера, но не http://main.com. У меня на сервере два сайта (с использованием разных веб-фреймворков). Для каждого из этих сайтов у меня есть виртуальные хосты, настроенные на сайте по умолчанию, который выглядит примерно так.

<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>

Я не знаю, что у вас в разделе «.......», которое может потребовать обновления, чтобы отразить изменение пути.