У меня два разных сайта
domain1.com
domain2.com
Проблема : Я могу получить доступ к domain2.com только с помощью www.domain2.com
Если я попробую domain2.com, он будет перенаправлен на domain1.com.
Файлы конфигурации:
domain1.com.conf
<VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com DocumentRoot /var/www/html </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> DocumentRoot /var/www/html ServerName www.domain1.com Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/domain1.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/domain1.com/privkey.pem </VirtualHost> </IfModule>
domain2.com.conf
<VirtualHost *:80> ServerName domain2.com ServerAlias www.domain2.com DocumentRoot /var/www/public_html/domain2.com/wordpress </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin gneri94@gmail.com DocumentRoot /var/www/public_html/domain2.com/wordpress ServerName www.domain2.com Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/domain2.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/domain2.com/privkey.pem </VirtualHost> </IfModule>
.htaccess на обоих сайтах
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
команда certbot certificates
возвращает:
Имя сертификата: domain1.com
Домены: domain1.com www.domain1.com
Путь к сертификату: /etc/letsencrypt/live/domain1.com/fullchain.pem
Путь к закрытому ключу: /etc/letsencrypt/live/domain1.com/privkey.pemИмя сертификата: domain2.com
Домены: domain2.com www.domain2.com
Путь к сертификату: /etc/letsencrypt/live/domain2.com/fullchain.pem
Путь к закрытому ключу: /etc/letsencrypt/live/domain2.com/privkey.pem
Для порта 80 vHost у вас есть:
ServerName domain2.com
ServerAlias www.domain2.com
Но для порта 443 у вас есть только:
ServerName www.domain2.com
(Это относится как к домену 1, так и домену 2.)
Итак, если вы получите доступ https://domain2.com
он будет перехвачен vHost по умолчанию (то есть первым, который определен: www.domain1.com
)
Вам также следует подумать о перенаправлении на HTTPS (канонический) домен через порт 80 vHost.