Как можно убрать перенаправление в WordPress?

Здравствуйте! <br/> <br/> Я создал страницы в WordPress в следующем порядке: <br/> 1. Создал страницу со слагом /slug. <br/> 2. Создал страницу со слагом /parent. <br/> 3. Сделал первую страницу дочерней для второй, в результате чего слаг первой страницы изменился на /parent/slug. <br/> 4. Когда я пытаюсь перейти по URL site.ru/slug, происходит 301 редирект на site.su/parent/slug. <br/> <br/> Можете объяснить, что вызывает этот редирект (если я не использую никакие плагины), и как его можно отключить?
  • 9 сентября 2024 г. 6:33
Ответы на вопрос 1
Здравствуйте!

Ваше описание ситуации с редиректами в WordPress свидетельствует о том, что проблема может быть связана с тем, как WordPress обрабатывает структуру URL. Давайте рассмотрим несколько возможных причин и решений:

1. **Проверка настроек постоянных ссылок (Permalinks)**:
   - Перейдите в админку WordPress (`Настройки` > `Постоянные ссылки`).
   - Убедитесь, что ваши настройки постоянных ссылок заданы правильно. Порой простое сохранение настроек может помочь обновить структуру ссылок и избавиться от нежелательных редиректов.

2. **Кэширование**:
   - Убедитесь, что у вас не включено кэширование на уровне сервера (например, Varnish), или в самой системе WordPress, если вы используете плагины для кэширования.
   - Попробуйте очистить кэш (как плагинов, так и сервера), чтобы исключить влияние кэшированных данных на вашу проблему.

3. **Проверка файла `.htaccess`**:
   - Если ваш сайт работает на Apache, загляните в файл `.htaccess`, который находится в корне установки WordPress.
   - Проверьте нет ли там ненужных правил, которые могли бы заниматься перенаправлением. Стандартное содержимое файла `.htaccess` для WordPress выглядит так:

     ```apache
     # 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
     ```

   Убедитесь, что это содержимое соответствует актуальному.

4. **Проверка базы данных**:
   - Проверьте таблицу `wp_posts` в вашей базе данных, чтобы убедиться, что там нет странных записей, которые могли бы вызвать редирект.
   - Возможно, вам стоит проверить поля `post_name` и `post_parent` для разных страниц.

5. **Проверьте наличие редиректов**:
   - Как вы и указали, ложный редирект на '/parent/slug' можно вызвать настройками. Убедитесь, что у вас нет в настройках URL-адресов, которые ведут на этот редирект.

6. **Настройка самих страниц**:
   - Посмотрите на настройки страниц. Убедитесь, что нет активных редиректов, которые вы могли бы установить изначально.

Если ни одно из этих предложений не решает вашу проблему, я бы рекомендовал протестировать, отключив все плагины и переключившись на стандартную тему WordPress (например, Twenty Twenty-One). Это поможет понять, влияет ли проблема на уровень темы или плагинов.

Надеюсь, это поможет вам разобраться с вашей проблемой редиректов!
Похожие вопросы