Удалить/скрыть указанное имя категории из URL

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

У меня несколько категорий постов:

Общее
Новости
Комедия
Конкурсы
Культура
Игры
Еда
и т.д.

URL постов в следующем формате:

www.mydomain.com/имя-категории/название-поста

Пример:

www.mydomain.com/еда/как-сделать-паэлью
www.mydomain.com/игры/игра-дня

Но я хотел бы скрыть в URL имя категории ‘общее’, например.

вместо

www.mydomain.com/общее/как-выучить-испанский

иметь

www.mydomain.com/как-выучить-испанский

Я пытался настроить правило перезаписи в .htaccess, но это не работает.

Есть идеи, как это сделать?

Спасибо!

Вы можете использовать имя поста в настройках постоянных ссылок. А для базовой категории и базового тега оставьте пустым.

Надеюсь, это поможет.

Вы пробовали следующее правило перезаписи в вашем .htaccess?

RewriteRule ^category/(.+)$ http://YOUR_SITE_NAME/$1 [R=301,L]

Чтобы достичь желаемой структуры URL, где имя категории скрыто для категории “Общее”, вы можете использовать следующие правила .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    # Исключить категорию 'общее' из URL
    RewriteCond %{REQUEST_URI} !^/общее/
    
    # Перезаписать URL для постов в других категориях
    RewriteRule ^([^/]+)/([^/]+)$ /$1/$2 [L]
    
    # Перезаписать URL для постов в категории 'общее'
    RewriteRule ^([^/]+)$ /общее/$1 [L]
</IfModule>

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

Для того чтобы скрыть название категории «General» из URL-адреса на вашем сайте, можно использовать директивы в файле .htaccess. Данная задача предполагает редирект с адреса, содержащего категорию, на адрес, в котором категория полностью отсутствует. Рассмотрим, как это сделать пошагово.

Шаг 1: Редактирование файла .htaccess

  1. Доступ к файлу .htaccess: Убедитесь, что вы имеете доступ к корневой директории вашего веб-сайта и вы можете редактировать файл .htaccess. Этот файл обычно находится в корне вашего веб-сервера.

  2. Создание резервной копии: Перед внесением изменений обязательно создайте резервную копию текущего файла .htaccess. Это поможет вам избежать потери работоспособности сайта в случае, если что-то пойдет не так.

Шаг 2: Добавление правил перезаписи

Для скрытия категории «General» добавьте следующие строки в ваш файл .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # Исключаем 'general' из URL
    RewriteCond %{REQUEST_URI} ^/general/

    # Перенаправляем запросы на 'general' на корень сайта
    RewriteRule ^general/(.+)$ /$1 [R=301,L]

    # Перезапись остальных URL
    RewriteRule ^([^/]+)/([^/]+)$ /$1/$2 [L]
</IfModule>

Пояснение к правилам:

  • RewriteEngine On: Включает механизм перезаписи URL.
  • RewriteBase /: Указывает базовый путь для перезаписи.
  • RewriteCond %{REQUEST_URI} ^/general/: Условие, по которому будет выполнено следующее правило, если URL начинается с /general/.
  • RewriteRule ^general/(.+)$ /$1 [R=301,L]: Перенаправляет все запросы к категории «General» на корень сайта с удалением категории. Использование флага R=301 указывает на постоянный редирект.
  • RewriteRule ^([^/]+)/([^/]+)$ /$1/$2 [L]: Обрабатывает другие URL, обеспечивая их корректное выполнение.

Шаг 3: Проверка изменений

После редактирования .htaccess проверьте следующие URL:

  • Основной URL для категории «General»:
    www.mydomain.com/general/how-to-learn-spanish
    Должен автоматически перенаправляться на:
    www.mydomain.com/how-to-learn-spanish

  • URL для других категорий (например, Food, Gaming) также должен работать корректно:
    www.mydomain.com/food/how-to-make-paella
    Должен оставаться доступным как есть.

Шаг 4: SEO-оптимизация

Постоянные редиректы (301) полезны для SEO, так как они информируют поисковые системы о том, что контент перемещен на новый адрес, и передают часть накопленной «наследственной» ценности страницы (PageRank).

Обратите внимание: изменения в .htaccess могут влиять на работу вашего сайта, поэтому обязательно протестируйте все URL и проверьте, как они отображаются в инструментах для вебмастеров.

Заключение

Используя приведенные выше шаги, вы можете успешно скрыть категорию «General» из URL-адресов вашего сайта. Это не только упростит структуру ваших URL, но также может положительно сказаться на пользовательском опыте и поисковой оптимизации. Если у вас есть дополнительные вопросы или требуются дальнейшие уточнения, не стесняйтесь обращаться.

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

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