Как сделать массовый 301 редирект с /%category%/%postname%.html на /%postname%.html в WordPress?
Как сделать массовый редирект 301 с /%category%/%postname%.html на /%postname%.html в Wordpress?
Через плагины не получается. В гугле готовых решений не нашёл.
Дополнительные вопросы
Не делай этого если не хочешь поиметь проблем. Лучше убери ненужный аппендикс ".html".
Ответы:
Через RewriteRule в .htaccess если у тебя Апач. Подобный функционал есть и в nginx
RewriteEngine on RewriteRule ^category/(.*).html$ /$1.html [L,R=301] |
RewriteEngine on RewriteRule ^category/(.*).html$ /$1.html [L,R=301]
- файл .htaccess у меня есть. А что туда нужно прописать?
- df009s, обновил ответ, смотри
Lorem Ipsum @GeorgeGeorge Студент Мне когда-то давно помогал плагин - https://ru.wordpress.org/plugins/remove-taxonomy-b....
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Массовый редирект с
/%category%/%postname%.htmlна/%postname%.htmlтехнически сделать можно, но это рискованная структура. Если у двух записей одинаковый slug в разных рубриках, после удаления категории из URL они начнут конфликтовать. Перед редиректом нужно проверить уникальностьpost_name.Для Apache общий вариант правила:
RewriteEngine On RewriteRule ^[^/]+/([^/]+).html$ /$1.html [R=301,L]
Если новая структура без
.html:RewriteRule ^[^/]+/([^/]+).html$ /$1/ [R=301,L]
Но это правило работает только для структуры с одной категорией в URL. Если категории вложенные, нужно другое правило:
RewriteRule ^(.+)/([^/]+).html$ /$2.html [R=301,L]
Для nginx:
rewrite ^/.+/([^/]+).html$ /$1.html permanent;
Перед включением 301 я бы сделал так:
Если сайт на WordPress, часто безопаснее делать редиректы через PHP, потому что можно найти запись по slug и убедиться, что она существует. Но для большого сайта это может быть тяжелее, чем правило сервера.
Итог: правило возможно, но сначала проверьте дубли. И подумайте, не лучше ли убрать только
.html, оставив категорию, если текущая структура уже проиндексирована и работает.