Мне нужно переименовать все страницы, соответствующие определенному шаблону в MediaWiki. Для любой страницы, содержащей XXXXX, ее нужно переименовать в ГГГГ. Это включает в себя содержимое страницы, а также названия страниц. Например, URL-адрес wiki http://wiki.example.org/TfrmXXX_Rates должен быть переименован в http://wiki.example.org/TfrmYYY_Rates, а любой текст, содержащий XXXXX, должен быть заменен на YYYYY.MediaWiki массовое переименование страницы
Replace Text extension не может быть использован для этого, поскольку он может изменять только содержимое страницы. Мне также нужно переименовать страницы и все ссылки на них (включая ссылки interwiki).
То, что я пробовал, заключается в следующем: удалите базу данных MySQL, замените все вхождения от XXXX на YYYY, затем запустите и заново создайте базу данных вики с модифицированным сценарием SQL и, наконец, запустите сценарий maintenance/rebuildall.php (предоставленный Обсуждение MediaWiki).
Проблема в том, что она не работает. Когда я ищу ключевое слово, MediaWiki показывает некоторые хиты со связанным содержимым страницы. Но когда я открываю URL-адрес, он покажет «пока нет контента». Я подозреваю, что причина этого в том, что некоторые данные хранятся в сериализованной форме PHP и не могут быть легко заменены текстовым поиском/заменой.
Итак, вопрос в том, как мне переименовать все ссылки в базе данных MediaWiki, включая контент и названия страниц?
Кто-нибудь, пожалуйста, объясните, почему он был заблокирован? Я хотел бы знать, что не так с этим решением (которое было активно использовано для решения задачи). – nagylzs