Многознание уму не учит (Гераклит).

Расширенный WordPress поиск и замена в базе данных в Linux с помощью sed

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 11 февраля 2017

Расширенный WordPress поиск и замена в базе данных в Linux с помощью sed
При переносе сайта WordPress или WooCommerce магазина на новый домен, вы можете найти некоторые URL-адреса или пути не обновленными. Точно так же при переходе с HTTP на HTTPS вы можете получить ошибки смешанного содержания, как правило, это может быть исправлено путем обновления базы данных. Традиционно существуют некоторые плагины и скрипты, которые помогут вам обновить базу данных, чтобы решить эти проблемы, если у вас все еще есть проблемы, этот пост должен помочь вам исправить пути и URL-адреса в вашей базе данных WordPress.

Мы впервые столкнулись с этой проблемой, когда обнаружили плагин Ultimate VC Add-ons, чтобы кодировать двоеточие и косую черту по- разному , как это http%3A%2F%2F

Я предполагаю, что у вас уже есть дамп базы данных WordPress, созданный с помощью PhpMyAdmin, плагина Adminer, дамп MySQL или WP-CLI.

Расширенный WordPress поиск и замена в базе данных в Linux с помощью sed

Я собираюсь использовать инструменты Linux  grep и sed для достижения максимальной скорости. Если у вас нет доступа к Linux, то вы можете использовать WordPress плагин  Better Search and Replace.

Поиск вхождений

Мы можем смоделировать с Grep, используя -c флаг, которая будет подсчитывать количество раз он находит строку domain.ru

 

Вы получите целое число в качестве вывода, если вы видите 0, то нет вхождения domain.ru в базе данных

 

Закодированный URL

Некоторые плагины используют кодировку URL, которая использует этот формат для миграции HTTP и HTTPS %3A = :и %2F = /.

Для того, чтобы проверить, есть ли у вас какие-либо из них, в вашей базы данных, используете эту команду.

 

Слеши

Некоторые плагины избегают \ и / и могут быть легко пропущены.

 

Путь WordPress

Иногда плагины хранят информацию о пути хранения на вашем хосте, узнать можно с помощью этой команды

 

Фактическая замена

Многие учебники используют в /качестве разделителя sed, я использую #, чтобы сделать его более удобным для чтения. Это также означает, что вам не придется искать какие – либо косые черты (\/) в вашей команде SED.

означает глобальная замена и переадресовывает на новый файл, чтобы не изменять исходный дамп базы данных.

Эта команда заменяет domain.ru на newdomain.ru в файле dump.sql

 

В этом примере есть вложенная папка для установки WordPress, # помогает maintan сохранить читабельность.

 

Закодированный URL

Замена кодирующейся строки URL

 

Это как заменить закодированые строки URL доменов в подпапках

 

Слеши

Если вы нашли косую черту, эта команда заменит их

 

WordPress путь поиска и замены

Замена пути

 

Это должно работать в большинстве баз данных WordPress, дайте нам знать в комментариях, если вы обнаружите какие-либо другие необычные шаблоны!

Использование Gzip для сжатия новых Dump

Мы можем сжать модифицированный дамп с помощью Gzip легко, он значительно сократит файл .sql

 

Теперь вы можете повторно импортировать измененный дамп с помощью WP-CLI, PhpMyAdmin или Adminer.


Читайте также

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close