Редирект при смене структуры сайта wordpress

12 3
anru
На сайте с 20.09.2007
Offline
78
2579

При глобальной смене структуры сайта Wordpress - можно прописать код для редиректа со старых адресов?

с /%post_id%.htm

на /%category%/%postname%.htm

категорий и записей много в блоге

Администратор сайта VIP клуб - всё для бизнеса (http://15wmz.com/) Мой архив обучающего видео - 1000+ видеоуроков и видеокурсов (http://prodaga.com/)
altezzik
На сайте с 06.11.2011
Offline
247
#1

Плагин делает редирект по id записи:

https://wordpress.org/plugins/change-permalink-helper/

anru
На сайте с 20.09.2007
Offline
78
#2
altezzik:
Плагин делает редирект по id записи:
https://wordpress.org/plugins/change-permalink-helper/

Установил

Активировал

Сменил структуру ссылок

По старым адресам записи недоступны :(

N
На сайте с 21.04.2014
Offline
68
#3

Попробуй плагин "Redirection" https://wordpress.org/plugins/redirection/

E
На сайте с 22.06.2016
Offline
45
#4

Можно хаком по маске ^\d+\.htm$ в .htaccess – решение с перенаправлением на /%postname%.htm я уже вижу. На /%category%/%postname%.htm скорее всего будет не намного сложнее, просто я с WP не очень хорошо знаком (поля id и post_name когда-то видел в таблице постов, а вот про категорию что-то не вспомню, но какая-то связь в любом случае должна быть).

anru
На сайте с 20.09.2007
Offline
78
#5
egos:
Можно хаком по маске ^\d+\.htm$ в .htaccess – решение с перенаправлением на /%postname%.htm я уже вижу. На /%category%/%postname%.htm скорее всего будет не намного сложнее, просто я с WP не очень хорошо знаком (поля id и post_name когда-то видел в таблице постов, а вот про категорию что-то не вспомню, но какая-то связь в любом случае должна быть).

Как правильно прописать перенаправление?

с адреса https://prodaga.com/%post_id%.htm

на адрес https://prodaga.com/?p=%post_id%

Думаю, что такой редирект сделает все записи доступными

SeVlad
На сайте с 03.11.2008
Offline
1609
#6
anru:
с /%post_id%.htm
на /%category%/%postname%.htm

А что, разве ВП сам не перенаправит с такого? (с /%post_id%/ перенаправляет точно)

Версия какая?

ЗЫ. Уж если менять урлы - самое время избавится от 5ти лишних символов аппендицита .html

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
E
На сайте с 22.06.2016
Offline
45
#7
anru:
Как правильно прописать перенаправление?

Например так:

RewriteRule ^(\d+)\.htm$ /?p=$1 [R=301,L]

Я позавчера по мотивам вашей темы написал статью о перенаправлении со сменой post_id на postname – все работает. Как появится немного свободного времени, может, и с категориями сделаю – нужно посмотреть, как они связаны с постами.

---------- Добавлено 03.11.2016 в 18:25 ----------

Попробуйте сделать внутреннее перенаправление (не указывайте флаг R=301) на index.php?p=$1, тогда, быть может, WP будет сам делать перенаправление на нужные вам адреса, как сказал SeVlad.

anru
На сайте с 20.09.2007
Offline
78
#8
SeVlad:
А что, разве ВП сам не перенаправит с такого? (с /%post_id%/ перенаправляет точно)
Версия какая?

ЗЫ. Уж если менять урлы - самое время избавится от 5ти лишних символов аппендицита .html

Wordpress перенаправляет. Проблема в другом

После смены структуры сайта - страницы по старым адресам недоступны

Надо сделать перенаправление для старых адресов на новые адреса страниц

---------- Добавлено 05.11.2016 в 18:52 ----------

egos:
Например так:
RewriteRule ^(\d+)\.htm$ /?p=$1 [R=301,L]


Я позавчера по мотивам вашей темы написал статью о перенаправлении со сменой post_id на postname – все работает. Как появится немного свободного времени, может, и с категориями сделаю – нужно посмотреть, как они связаны с постами.

1. Адрес статьи?

2. В этом и проблема - как прописать в цепочке универсальную команду для подстановки категории, как для %post_id%

E
На сайте с 22.06.2016
Offline
45
#9

1. Написал в личном сообщении.

2. Нужно отследить по таблицам базы данных связь между идентификатором поста и слагом категории этого поста, чтобы извлечь слаг для использования в целевом адресе при перенаправлении.

anru
На сайте с 20.09.2007
Offline
78
#10
egos:
1. Написал в личном сообщении.
2. Нужно отследить по таблицам базы данных связь между идентификатором поста и слагом категории этого поста, чтобы извлечь слаг для использования в целевом адресе при перенаправлении.

Посмотрел статью. Дело в том, что перенаправление с адресов формата /%post_id%.html на адреса формата /%postname%.html делает сам wordpress без проблем.

Задача в другом!

Сделать доступными записи по старым адресам - после смены структуры сайта.

По новому адресу /%category%/%postname%.htm - будет сам wordpress показывать

А со старых адресов /%post_id%.html - надо сделать глобальный редирект на новые записи.

Как это вижу?

С адреса /?p=%post_id% wordpress сам определяет нахождение поста в любой структуре сайта.

Значит, надо сделать редирект со старых постов /%post_id%.html на /?p=%post_id%

и wordpress определит нахождение записи в новой структуре.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий