Назначить родительскую страницу – Теперь ошибка 404

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

Происходит странная вещь.

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

Вот что странно: это происходит только при попытке назначить одну конкретную родительскую страницу. Любая другая родительская страница работает нормально.

Пример:
www.website.com/city (моя новая страница)
www.website.com/locations (старая страница, которую я хочу сделать родительской)
www.example.com/locations/city (как должен выглядеть URL с родительской страницей, но появляется ошибка 404)

Я могу назначить любую другую страницу в качестве родительской, и ошибка 404 не появляется. Примеры вроде этих работают нормально:
www.example.com/about/city (это работает нормально)
www.example.com/anypage/city (это работает нормально)
и т.д…

Так что ошибка 404 возникает ТОЛЬКО при назначении страницы /locations/ в качестве родительской.

Есть идеи, почему это происходит, и какие-либо предложения по исправлению?

ПЛАГИН 1: После того как я более внимательно изучил этот сайт, я заметил, что у меня есть плагин, который создал раздел в боковой панели под названием “Продукты”. В разделе “Продукты” есть категория с названием “Местоположения”. Это создает часть URL /locations/. Есть несколько страниц, таких как пример www.example/locations/city-state. Это используется для фильтрующего поиска на сайте для просмотра продуктов и местоположений, где находятся некоторые из продуктов.

ПЛАГИН 2: Есть другой плагин, который был установлен для страницы местоположений Google Maps. Это страница www.example.com/locations/, которую я упоминал в своем первоначальном вопросе. Когда вы посещаете эту страницу, вы видите карту с несколькими маркерами местоположений на ней. Вы также можете увидеть конкретное местоположение на карте, используя выпадающий список штатов.

Эти два плагина абсолютно независимы и служат для разных целей (ПЛАГИН 1 предназначен для продуктов и местоположений каждого продукта, а ПЛАГИН 2 только для отображения местоположений магазинов).

Учитывая это, я не думаю, что смогу использовать /locations/ в качестве родительской страницы, даже если это реальная страница. И я не смогу получить URL-адреса местоположений магазинов, как изначально хотел….www.example.com/locations/city, www.example.com/locations/city2, www.example.com/locations/city3.

Надеюсь, это имеет смысл. К сведению….Я взял на себя этот сайт несколько месяцев назад и не был осведомлен о том, как некоторые настройки были осуществлены. Тот, кто настроил страницу карты местоположений /locations/, должен был использовать другой путь, например /our-locations/.

Просто для подтверждения решения: у меня была такая же проблема, и причиной действительно оказалось то, что у меня был пользовательский тип поста с таким же именем, как у родительской страницы/каталога.

Таким образом, в моем случае у меня была www.mydomain.com/policies/ и CPT под названием “Policies”, поэтому любая дочерняя страница в каталоге политик выдавала ошибку 404.

Моим решением было обновить слаг для страницы Policies (в моем случае до www.mydomain.com/anywordhere-policies/), и это сразу решило проблему.

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

Проблема с 404 ошибкой при назначении родительской страницы

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

Описание проблемы

Вы пытаетесь назначить страницу /locations родительской для новой страницы /city, однако после этого возникает ошибка 404. Странным является то, что назначение других страниц в качестве родительских не вызывает проблем.

Возможные причины ошибки 404

  1. Конфликт с пользовательскими типами записей (Custom Post Types):
    Использование одного и того же имени для родительской страницы и пользовательского типа записи может вызвать сбой в маршрутизации. Например, если у вас уже есть пользовательский тип записи, который называется "Locations", это может помешать правильной маршрутизации для страницы /locations.

  2. Функциональность плагинов:
    У вас установлены два разных плагина, которые используют /locations в своих URL. Первый плагин (PLUGIN 1) работает с фильтрами продуктов и локациями, а второй плагин (PLUGIN 2) отображает карты и местоположения. Поскольку оба плагина используют одну и ту же часть URL, это может привести к конфликту.

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

Решения

  1. Переименование родительской страницы:
    Как вы уже заметили, переименование страницы /locations на что-то более специфичное (например, /our-locations) может устранить конфликт. Это также позволит избежать путаницы в маршрутизации и сделает ваш URL более уникальным.

  2. Использование других ярлыков для пользовательских типов записей:
    Если вы не хотите менять исходный URL, рассмотрите возможность изменения \"slug\" для пользовательского типа записи, который может конфликтовать. Это может позволить вам продолжать использовать /locations в качестве родительской страницы, не сталкиваясь с 404 ошибками.

  3. Проверка и обновление плагинов:
    Убедитесь, что установленные плагины обновлены до последних версий, так как иногда разработчики могут исправить подобные проблемы в будущих обновлениях. Кроме того, ознакомьтесь с документацией плагинов для получения рекомендаций по настройке и устранению конфликтов.

  4. Проверка настроек постоянных ссылок:
    Перейдите в Админку WordPress, в раздел «Настройки» → «Постоянные ссылки» и просто нажмите «Сохранить изменения». Это может помочь обновить правила перезаписи и устранить ошибки.

Заключение

Проблемы с 404 ошибками при назначении родительских страниц могут быть довольно сложными, особенно в условиях конфликтов плагинов или пользовательских типов записей. Следуя предложенным решениям и, возможно, проводя дополнительные тесты, вы сможете устранить проблему и успешно назначить страницу /locations в качестве родительской. Если же ситуация не разрешается, рекомендуется обратиться к профессионалу для более глубокого анализа конфигурации сайта.

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

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