2015-06-30 2 views
1

У меня есть сайт sub.example.com Настройка в apache с virtualhosts на портах 80 и 443 (см. Нижеприведенные конфиги). На самом деле это только 2 виртуальных хоста на сервере.Поддомен перенаправляется в основной домен без виртуального хоста

However, when I navigate к sub.example.com, browser является redirecting к example.com, и even finds в correct root document и renders на page login из sub.example.come, where it then gets an error ssl since I only have a certificate для sub.example.com.

Первое, что я пробовал, это перенаправить example.com назад на sub.example.com. Сначала я попробовал с .htaccess с директивами Rewrite, и это, казалось, не имело никакого эффекта. Затем я попытался установить постоянную переадресацию в конфигурационном файле apache, но это привело к циклу перенаправления.

Как можно sub.example.com перенаправить на example.com, и далее, как можно было бы найти корень документа вообще?

В идеале example.com не должен существовать вообще, но я буду удовлетворен этим, по крайней мере, перенаправлением example.com на sub.example.com.

Вот моя конфигурация apache. (Использование Ubuntu 12.04 и Apache 2.2)

ports.conf

NameVirtualHost xx.xx.xx.xx:80 
NameVirtualHost xx.xx.xx.xx:443 

Listen 80 

<IfModule mod_ssl.c> 
    Listen 443 
</IfModule> 

<IfModule mod_gnutls.c> 
    Listen 443 
</IfModule> 

VirtualHosts конфигурации

# redirect to https 
<VirtualHost xx.xx.xx.xx:80> 
    ServerName sub.example.com 
    DocumentRoot /var/www/path/to/webroot 
    RedirectPermanent/https://sub.example.com 
</VirtualHost> 

# https 
<VirtualHost xx.xx.xx.xx:443> 
    ServerName sub.example.com 

    DocumentRoot /var/www/path/to/webroot 

    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 

    <Directory /var/www/path/to/webroot> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 

    SSLEngine on 
    SSLCertificateFile /etc/apache2/ssl/sub.example.com.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/sub.example.com.key 
    SSLCertificateChainFile /etc/apache2/ssl/chain.crt 

    LogLevel notice 
    ErrorLog ${APACHE_LOG_DIR}/sub-example-error.log 
    CustomLog ${APACHE_LOG_DIR}/sub-example-access.log combined 
</VirtualHost> 

ответ

-1

Вы поставили

ServerName sub.example.com 

дважды

Смежные вопросы