Заголовок и нижний колонтитул не загружаются с SSL и пользовательскими ссылками.

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

У меня есть существующий сайт, который я сейчас пытаюсь защитить, но у меня возникают проблемы с заголовком и подвалом на страницах, доступ к которым осуществляется через пользовательские ссылки в меню. Когда я пытаюсь получить доступ к пользовательской ссылке (например, http://mywebsite.com/SomeNonWordPressComponent), контент загружается, но заголовок и подвал отображаются как:

Перемещено навсегда

Документ был перемещен сюда (https://localhost/common/header.php).

Заголовок и подвал на обычных страницах WordPress отображаются вполне нормально.

Что мне нужно изменить, чтобы заголовок и подвал отображались правильно для пользовательских страниц?


Что я уже пробовал:

  • установить WP_HOME и WP_SITEURL с префиксом https.
  • нажать кнопку “Сохранить изменения” на странице ПЧП.
  • вручную добавить в .htaccess корневого каталога WordPress это дополнительное правило перезаписи:
     RewriteCond     %{HTTPS} off
     RewriteRule     (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

По-прежнему получаю перенаправление (как выше) для заголовка и подвала.

Также: путь common/header.php на самом деле существует на уровень выше корневого каталога WordPress. Пробовал создать символическую ссылку в WordPress на /path/to/webroot/common, но это тоже не сработало.

Перейдите в панель управления WordPress и выберите Настройки >> Общие, затем измените Адрес WordPress (URL) и Адрес сайта (URL) с HTTP на HTTPS. Затем нажмите кнопку Сохранить изменения.

Если ваша проблема еще не решена, перейдите в Настройки >> Постоянные ссылки и снова нажмите кнопку Сохранить изменения. Это заново сгенерирует ваш файл .htaccess. Иногда .htaccess вызывает некоторые необычные проблемы. Я просто хочу убедиться, что с ним все в порядке.

Ответ или решение

Проблема, с которой вы столкнулись, заключается в том, что заголовок и футер вашего сайта не загружаются должным образом при доступе к пользовательским ссылкам, использующим протокол SSL (HTTPS). Это может быть вызвано несколькими факторами, и ниже перечислены шаги, которые вам нужно предпринять для решения этой проблемы.

1. Настройка WP_HOME и WP_SITEURL

Первое, что необходимо сделать, — это убедиться, что параметры WP_HOME и WP_SITEURL установлены правильно. Вам необходимо задать их значения, начинающиеся с https://, как вы уже это делали. Убедитесь, что в вашем файле wp-config.php они выглядят так:

define('WP_HOME', 'https://yourwebsite.com');
define('WP_SITEURL', 'https://yourwebsite.com');

2. Проверка настроек в Панели управления WordPress

Перейдите в админку вашего WordPress и выполните следующие действия:

  • Настройки → Общие:
    Убедитесь, что адрес WordPress (URL) и адрес сайта (URL) начинаются с https://. Если вы внесли изменения, не забудьте нажать кнопку "Сохранить изменения".

3. Правила перезаписи (Rewrite Rules)

Вы уже добавили правило в файл .htaccess, чтобы обеспечить перенаправление трафика с HTTP на HTTPS. Убедитесь, что файл .htaccess выглядит примерно так:

# 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]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END WordPress

4. Проверка путей заголовка и футера

Убедитесь, что пути к файлам header.php и footer.php корректны. Поскольку эти файлы находятся выше корневого каталога WordPress, может потребоваться добавить абсолютный путь к ним в код шаблона. Обратите внимание, что WordPress не может обращаться к файлам вне своего каталога без дополнительной настройки. Рекомендуется переместить файлы в каталог вашей темы или создать плагин, который будет подключать нужные файлы.

5. Работа с пользовательскими ссылками

Убедитесь, что все ссылки в меню ведут на правильный URL-адрес. Возможно, некоторые из них ссылаются на протокол HTTP и вызывают проблемы. Если вам нужно, чтобы эти ссылки также перенаправлялись на HTTPS, можете добавить правило в .htaccess для принудительного HTTPS:

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

6. Дебаг

Если после всех вышеуказанных шагов проблема все еще не устранена, рекомендуется включить дебаг в WordPress. Добавьте следующие строки в ваш файл wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

После этого проверьте файл debug.log в каталоге /wp-content/, чтобы выявить возможные ошибки.

Заключение

Решение проблемы с неправильной загрузкой заголовка и футера на вашем сайте, работающем по HTTPS, требует тщательной проверки настроек URL, правильного управления путями к файлам и актуальности правил перезаписи. Уделяя внимание каждому из этих аспектов, вы сможете устранить проблемы, связанные с интеграцией и отображением пользовательских страниц на вашем сайте WordPress.

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

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