Вопрос или проблема
У меня есть сайт на WordPress на main.com и второй на blog.main.com.
main.com уже имел работающий SSL-сертификат.
В cPanel я установил новый wildcard SSL-сертификат для ‘*.main.com’
(извините, похоже у меня недостаточно репутации, чтобы добавить больше 2 ссылок)
На данный момент:
https main.com продолжал работать правильно.
http blog.main.com все еще работал.
https blog.main.com перенаправлял на https main.com
Так что блог требует дополнительных действий.
Я изменил site-url и site-address блога на ‘https://blog.main.com‘.
И изменил .htaccess блога, добавив 3 строчки в начало:
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Теперь:
https blog.main.com все еще перенаправляет на https main.com.
http blog.main.com также перенаправляет на https main.com.
(Изменение site-url и адреса и возвращение старого .htaccess, не отменяет перенаправление.)
Единственное перенаправление в cPanel — это 403 для ‘.(htaccess|htpasswd|errordocs|logs)$’
редактировать: Обратите внимание, что mail.main.com также перенаправляет на main.com.
Что может вызывать перенаправление блога на основной сайт.
Измените первые 3 строки вашего .htaccess на следующий код. Он должен быть внутри apache IfModule mod_rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Оставлю этот вопрос здесь на случай, если он кому-то поможет. Но оказалось, что сертификат не был установлен на субдомене.
При проверке сертификата с помощью ssl checker на https://decoder.link/sslchecker, казалось, что он установлен как на основном сайте, так и на субдомене. (Техподдержка показала мне это, так что я не сомневался в этом. Я искал проблему где угодно, но не там.)
Оказалось, что перенаправление показывало сертификат для субдомена. Сертификат был установлен только на основном сайте. (Другой человек из техподдержки указал на это.)
Я не зол ни на кого. Оба специалиста были отличными и очень помогли мне. Это была просто маленькая оплошность.
Может, это кому-то поможет.
Ответ или решение
Вопрос о перенаправлении поддомена на основной сайт после установки wildcard SSL-сертификата встречается достаточно часто среди веб-разработчиков. Давайте подробно разберем возможные причины и решения для этой проблемы.
Анализ проблемы
Вы установили wildcard SSL-сертификат, предназначенный для доменов вида *.main.com
, что включает ваш основной домен и поддомен. Однако наблюдается перенаправление трафика с https://blog.main.com
на https://main.com
, что указывает на некорректное конфигурирование поддоменного сертификата.
Возможные причины и решения
-
Неправильно установлен SSL-сертификат: Несмотря на то что вы проверили установку с помощью SSL Checker и сертификат был виден, возможно он не был корректно установлен на сервере для поддомена. Это можно быстро проверить, заново перепроверив настройки в панели управления cPanel, убедившись в правильности привязки сертификата к поддомену. Если сертификат отсутствует или установлен некорректно, установите его заново.
-
Ошибки в конфигурации
.htaccess
: Проверьте ваш.htaccess
файл на наличие любых инструкций, которые могут перенаправлять трафик. В вашем случае допустимо использовать конфигурации типа:<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} !=on [NC] RewriteCond %{HTTP_HOST} ^blog\.main\.com$ [NC] RewriteRule ^(.*)$ https://blog.main.com/$1 [R=301,L] </IfModule>
Обратите внимание на условия, которые должен обрабатывать
.htaccess
, чтобы избегать ненужного перенаправления. -
Настройки WordPress: Убедитесь, что измененные адреса сайта и домашняя страница в настройках WordPress действительно указаны как
https://blog.main.com
. Это может быть сделано через административную панель WordPress или через конфигурацию в файлеwp-config.php
. -
Кеширование и плагины перенаправления: Если вы используете кеширующие плагины или плагины для управления перенаправлениями, отключите их временно, чтобы проверить, не они ли вызывают перенаправление. Также стоит очистить кеш сервера и браузера после внесения изменений.
Итог
На практике, основное внимание следует уделить проверке корректности установки SSL-сертификата и возможных конфликтов в правилах переадресации. Всегда убеждайтесь, что изменения приняты сервером и учтены системами кеширования перед проведением окончательных тестов.
Заключение
Учтите, что каждому изменению на сервере обычно требуется некоторое время для обновления записей DNS и базы данных, что может отразиться на моментальной работе сайта. Надеюсь, это объяснение поможет вам и другим, кто столкнулся с подобной ситуацией.