2013-05-07 73 views
1

我的虛擬主機配置文件,只要我試圖訪問https://api.example.com我重定向到http://www.example.com看起來像這樣阿帕奇虛擬主機HTTPS/SSL子域始終重定向到主要的非HTTPS網頁

<VirtualHost *:443> 
    ServerName api.example.com 
    DocumentRoot /var/www/example.com/live/api/ 
    <Directory /var/www/example.com/live/api/> 
    Options FollowSymLinks 
    AllowOverride All 
    Order allow,deny 
    allow from all 
    </Directory> 

    SSLEngine on 
    SSLCertificateFile /etc/ssl/certs/mycert.pem 
    SSLCertificateKeyFile /etc/ssl/private/mycert.key 
</VirtualHost> 

<VirtualHost *:80> 
ServerName example.com 
ServerAlias www.example.com 
DocumentRoot /var/www/example.com/live/ 
<Directory /var/www/example.com/live/> 
Options FollowSymLinks 
AllowOverride All 
Order allow,deny 
allow from all 
</Directory> 
ErrorLog /var/log/apache2/error-example.com-live.log 
LogLevel warn 
CustomLog /var/log/apache2/access.log combined 
</VirtualHost> 

。 當我將文檔根目錄更改爲/ var/www/whatever-but-not-used-by-other-vhost時,它沒有任何問題。

感謝您的幫助

回答

0

你應該在一個的DocumentRoot的.htaccess或者基於HTTP_HOST

+0

由於通過腳本做了一個重定向。我在這兩個文檔根目錄都有一個.htaccess文件,但是無論我放什麼,我都會重定向到[http://www.example.com](http://www.example.com)。如果我將CustomLog添加到第一個Virualhost中,它會記錄301重定向,但我不知道它來自哪裏。 – 2013-05-08 17:01:54