Миграция у WordPress или хотя бы изменение префикса у таблиц - это просто ужасный гемор, если делать это впервые и даже не с кривыми руками. С коим я и столкнулся.
В интернете пишут: кому-то везет, кому-то нет; и уж если не повезет - то совсем плохо будет. Поехала разметка, не мог попасть в административную панель, сдохли плагины, ... Joomla же повела себя вообще без стервозности: перенеслась как часы. Этот факт делает Joomla все-таки в лидерах; я конечно понимаю, что ее изучать сложнее - но зато целее нервы! Проблему я решил. Причем совершенно случайно. Мне не помог ни гугл, ни сайты по WordPress. Итак, алгоритм переноса сайта/базы MySQL: - отключаем все плагины; - делаем экспорт базы MySQL (например, средствами PhpMyAdmin); - меняем в экспортном файле префиксы таблиц руками, никакой автозамены! Их всего 10-30 исправлений; автозамена фатальна, т.к. и таблицы начинаются с "wp_" по умолчанию, и некоторые функции WordPress - тоже. Вы можете не менять стандартный префикс "wp_", но когда (например) у вас кончится лимит БД под ваши поддомены - вы их начнете объединять, и тут уникальность префикса таблицы вам поможет. - меняем автозаменой во всей БД ссылки старого домена на новый; - импортируем измененную на компьютере базу MySQL в конечное местоположение; - запоминаем все уникальные права для папок/файлов на FTP (отличные от 755/644); - копируем файлы с сайта на компьютер. - на компьютере редактируем файл wp-config.php программой Notepad++, выставляя в нем новое название БД, реквизиты доступа и новый префикс таблиц MySQL. Почему именно этой программой: файл нужно обязательно сохранять в кодировку utf-8; в некоторых случаях, как в моем, - в utf-8 без BOM. Если сохранить в любом другом формате - возникнут глюки, что я писал выше. Вы будете думать, что у вас слетела CSS, или не достает файлов, или база MySQL неисправна - ничего подобного; - копируем файлы сайта с компьютера на виртуальную площадку, конечное местоположение; - выставляем права для тех папок, которые мы запоминали. - заходим в админку, включаем плагины. - может не пустить в админку, выдав сообщение "у вас недостаточно полномочий для доступа к этой странице". Решается из PhpMyAdmin: ищем в "ваш-старый-префикс_options" строчку "ваш-старый префикс_user_roles", меняете старый префикс на новый; ищем в "ваш-старый-префикс_usermeta" строчку "ваш-старый префикс_capabilities", меняете старый префикс на новый. |