Субдомены Apache virutalhost указывают на один и тот же каталог - PullRequest
3 голосов
/ 13 декабря 2010

elloo,

У меня есть два поддомена виртуального хоста, указывающие на разные каталоги, однако, когда я загружаю оба поддоменов в браузере, я получаю их оба, указывающие на один каталог.вот мой vhost.conf

<VirtualHost *:80>
        ServerAdmin admin@domain.com
        ServerName subdomain1.domain.com 
        ServerAlias *.domain.com

        #Indexes + Directory Root.
        DirectoryIndex index.php        
        DocumentRoot /subomain1/path/to/directory/trunk

        #Logfiles
        ErrorLog  /subomain1/path/to/directory/trunk/error.log
        CustomLog /subomain1/path/to/directory/trunk//access.log combined
</VirtualHost>

<VirtualHost *:443>
        ServerAdmin admin@domain.com
        ServerName subdomain1.domain.com 
        ServerAlias *.subdomain.com

        DirectoryIndex index.php        
        DocumentRoot /subomain1/path/to/directory/trunk

        SSLEngine On
        SSLCertificateFile /ssl/certs/subdomain1.crt
        SSLCertificateKeyFile /ssl/private/subdomain1.key
        SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
 </VirtualHost>

 <VirtualHost *:80>
        ServerAdmin admin@domain.com
        ServerName subdomain2.domain.com 
        ServerAlias *.domain.com

        #Indexes + Directory Root.
        DirectoryIndex index.php        
        DocumentRoot /subomain2/path/to/directory/trunk

        #Logfiles
        ErrorLog  /subomain2/path/to/directory/trunk/error.log
        CustomLog /subomain2/path/to/directory/trunk//access.log combined
</VirtualHost>

<VirtualHost *:443>
        ServerAdmin admin@domain.com
        ServerName subdomain2.domain.com 
        ServerAlias *.subdomain.com

        DirectoryIndex index.php        
        DocumentRoot /subomain2/path/to/directory/trunk

        SSLEngine On
        SSLCertificateFile /ssl/certs/subdomain2.crt
        SSLCertificateKeyFile /ssl/private/subdomain2.key
        SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
 </VirtualHost>

Я пробовал Google, однако ни один из ответов, кажется, не помогает.

Я использую Ubuntu Server

Заранее большое спасибо

Ответы [ 2 ]

1 голос
/ 15 июля 2011

не знаю, решали ли вы когда-нибудь это, но у меня возникла та же проблема, и оказалось, что я забыл изменить файл httpd.conf следующим образом:

Откройте строку «httpd.conf» и раскомментируйте строку # 461 (приблизительно), которая гласит «Включить /private/etc/apache2/extra/httpd-vhosts.conf», а затем сохраните.

взято из этого урока, который бесценен: http://kevchapman.co.uk/development/setting-up-apache-on-snow-leopard/

0 голосов
/ 13 декабря 2010

Я думаю, это потому, что вы используете ServerAlias ​​* .domain.com на обоих виртуальных хостах

, поскольку директива ServerAlias ​​указывает, что перечисленные имена - это другие имена, которые люди могут использовать для просмотра того же веб-сайта:

ServerAlias ​​* .subdomain.com

тогда запросы на все хосты в домене subdomain.com будут обслуживаться виртуальным хостом subdomain1.domain.com.

это может помочь http://httpd.apache.org/docs/2.0/vhosts/name-based.html

...