Intereting Posts
Добавить «последний» класс во второй пост в избранном цикле сообщений wp_insert_post чрезвычайно медленный на большой таблице, прямой запрос очень быстро WordPress 3.6, searchform.php проблемы Добавление пейджинга в get_posts () Загружать комментарии за сообщение при нажатии с помощью AJAX Мне нужна базовая помощь с пользовательскими типами сообщений Как обернуть html вокруг API настроек add_settings_section () if выражение в запросе базы данных Вход / Регистрация перенаправления пользователя с сообщением WordPress Страницы «разрешить комментарии» мета-опция не может быть проверена Это работает с CSS, но это хорошая практика? Как сделать PDF-файл индекса индекса поисковой системы? после миграции новые загруженные изображения не будут отображаться Работа с html-формами wp_editor в викторе ломается после сохранения (никаких кнопок и визуальных вкладок не сломано)

Категория перенаправления для URL с / категорией

Я хочу перенаправить каждую страницу категории на URL-адрес, добавленный в /category . Например; Я хочу /blog переадресовать /blog в / category / blog

Зачем? По какой-то причине /blog дает тот же результат, что и /category/blog , но если вы посетите / блог, структура навигации больше не работает. Следующая страница сообщений в блогах будет /blog/page/2 вместо /category/blog/page/2 . Первый пример возвращает страницу 404.

Моя структура permalink установлена ​​в /%category%/%postname%/ и на странице permalink я установил категорию category в категорию «категори», по-голландски по категории (поэтому прочитайте каждую категорию выше как категория haha).

Где-то в Интернете я нашел следующий фрагмент кода. К сожалению, этот код приводит к циклу перенаправления:

 add_filter('term_link', 'term_link_filter', 10, 3); function term_link_filter( $url, $term, $taxonomy ) { if ( is_category( 'blog' ) ) { $url = site_url( '/categorie/blog' ); wp_safe_redirect( $url, 301 ); exit; } return $url; } 

Надеюсь, кто-то узнает решение.

Ваш код работает правильно, но логика кода неверна. Вы делаете это: если мы в категории «блог», перенаправляем категорию «блог». Итак, если вы перейдете в категорию блога, вы будете перенаправлены навсегда. Вы должны тщательно подумать о том, что /blog url, и сделать правильную проверку.

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

Попробуйте это в своем .htaccess:

 RedirectMatch 301 ^/blog(.*)$ http://example.com/category/blog$1 

Вышеприведенный код делает это: если URL-адрес начинается с /blog(any-string-here) , перенаправляйте в /category/blog(any-string-here) с кодом статуса HTTP HTTP.

Если вы хотите точно поймать /blog в /category/blog :

 RedirectMatch 301 ^/blog$ http://example.com/category/blog