Как я могу удалить .html расширение из всех внутренних ссылок в сообщениях WordPress с помощью PHPMYADMIN

Я перестроил старый сайт WordPress с 1000 + статьями. Мы удалили .html расширение из URL, и успешно реализован .htaccess 301 перенаправление от .HTML url к non .HTML url.

Проблема — я хотел бы SQL-запрос, чтобы удалить все .html расширения жестко закодированы в сообщениях WordPress, чтобы избежать огромного количества ненужных перенаправлений.
Предупреждение-запрос должен только удалить .html по внутренним ссылкам.

Запрос будет выглядеть примерно так:

UPDATE wp_posts SET post_content = replace(post_content, 'http://example.com/***/link.html', 'http://example.com/***/link');

Любые идеи оценены.

1 ответ

  1. MySQL REPLACEне поддерживает регулярные выражения.

    Вам нужно будет использовать определяемую пользователем функцию MySQL (UDF) из внешней библиотеки. например. https://github.com/hholzgra/mysql-udf-regexp.

    Или вы можете попытаться написать свой собственный, как это https://techras.wordpress.com/2011/06/02/regex-replace-for-mysql/

    Надеюсь, эта информация вам поможет.