У меня есть сервер с двумя сайтами. Один из них имеет https, а другой нет. Моя проблема в том, что когда я захожу на сервер, на котором нет https, он перенаправляет на сервер, на котором он есть.
Я использую Ubuntu 12.04.5 LTS и Apache 2.2. Я перепробовал все места, где использовал rewrite, но ни одно из них мне не помогло.
Вот конфигурация первого сайта (имеющего https)
<VirtualHost *:80>
ServerName www.first_site.com.br
ServerAlias www.first_site.com.br
ServerAdmin info@first_site.com.br
DocumentRoot /var/www/first_site
ErrorLog /var/log/apache2/first_site/error.log
LogLevel warn
CustomLog /var/log/apache2/first_site/access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName www.first_site.com.br
ServerAlias www.first_site.com.br
ServerAdmin info@first_site.com.br
DocumentRoot /var/www/first_site
ErrorLog /var/log/apache2/first_site/error.log
LogLevel warn
CustomLog /var/log/apache2/first_site/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/wildSSL/STAR_first_site_com_br.crt
SSLCertificateKeyFile /etc/apache2/wildSSL/STAR_first_site_com_br.key
SSLCertificateChainFile /etc/apache2/wildSSL/STAR_first_site_com_br.ca-bundle
SSLProtocol All
</VirtualHost>
</IfModule>
Это вторая конфигурация сайта
<VirtualHost *:80>
ServerName www.second_site.com.br
ServerAlias www.second_site.com.br
ServerAdmin info@second_site.com.br
DocumentRoot /var/www/second_site
ErrorLog /var/log/apache2/exati/error.log
LogLevel warn
CustomLog /var/log/apache2/exati/access.log combined
</VirtualHost>
Кроме того, всегда, когда я захожу на первый сайт без https, он автоматически перенаправляет на https-версию.
решение1
Добавить для второго сайта
<VirtualHost *:443>
ServerName www.second_site.com.br
ServerAlias www.second_site.com.br
RewriteEngine on
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=permanent]
</VirtualHost>