Сайт на поддомене перенаправляет на основной сайт после установки wildcard SSL-сертификата на оба.

Вопрос или проблема

У меня есть сайт на 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, что указывает на некорректное конфигурирование поддоменного сертификата.

Возможные причины и решения

  1. Неправильно установлен SSL-сертификат: Несмотря на то что вы проверили установку с помощью SSL Checker и сертификат был виден, возможно он не был корректно установлен на сервере для поддомена. Это можно быстро проверить, заново перепроверив настройки в панели управления cPanel, убедившись в правильности привязки сертификата к поддомену. Если сертификат отсутствует или установлен некорректно, установите его заново.

  2. Ошибки в конфигурации .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, чтобы избегать ненужного перенаправления.

  3. Настройки WordPress: Убедитесь, что измененные адреса сайта и домашняя страница в настройках WordPress действительно указаны как https://blog.main.com. Это может быть сделано через административную панель WordPress или через конфигурацию в файле wp-config.php.

  4. Кеширование и плагины перенаправления: Если вы используете кеширующие плагины или плагины для управления перенаправлениями, отключите их временно, чтобы проверить, не они ли вызывают перенаправление. Также стоит очистить кеш сервера и браузера после внесения изменений.

Итог

На практике, основное внимание следует уделить проверке корректности установки SSL-сертификата и возможных конфликтов в правилах переадресации. Всегда убеждайтесь, что изменения приняты сервером и учтены системами кеширования перед проведением окончательных тестов.

Заключение

Учтите, что каждому изменению на сервере обычно требуется некоторое время для обновления записей DNS и базы данных, что может отразиться на моментальной работе сайта. Надеюсь, это объяснение поможет вам и другим, кто столкнулся с подобной ситуацией.

Оцените материал
Добавить комментарий

Капча загружается...