Массовый перенос топиков в другой блог?

Здравствуйте, уважаемые лайвстрицовцы! Рад вас приветствовать! Хотел спросить, как можно безопасно перенести сразу все топики из одного блога в другой, с сохранением информации о старом расположении и авто редиректом 301.?

Буду рад выслушать любые возможные решения!

Спасибо за внимание!

15 комментариев

avatar
Помогите пожалуйста!
avatar
Помогите кто-нибудь, здесь кто-нибудь остался?
avatar
Redirect 301 /blog/oldblog/ http://www.domain.ru/blog/newblog/
avatar
Или через конфиг:
$config['router']['uri'] = array('
    '~^blog/oldblog(.*)$~' => "blog/newblog/"
);
avatar
Спасибо за ответ, но интересует момент как физически сразу все топики перенести из одного блога в другой? При удалении блога вроде спрашивается куда перенести но по факту они просто удаляются
avatar
Недавно задавал вопрос по переносу топиков из личных блогов в другой — там были рекомендации, посмотрите может поможет
avatar
Штатными средствами вы не перенесете, или потеряете старые ссылки.
Как вариант — можете попереносить каждый топик отдельно, и при переносе самостоятельно ставить 301 редирект через вот этот плагин — catalog.livestreetcms.com/addon/view/356/

Если тут найдется какой-то мастер SQL — то если составить правильный запрос, перенос можно сделать автоматически, а редирект — как написал выше lifecom livestreet.ru/blog/sollutions/18527.html#comment292628
avatar
Топиков много — 42126 штук вручную не получится это реализовать, нужен авто подход к делу.
avatar
Вам же дали ссылку с топиком, там в 1-м камменте sql запрос, его немного модифицировать и все:
UPDATE
    prefix_topic
SET
    blog_id = 666 // id нового блога
WHERE
    prefix_topic.blog_id = '555' // id старого блога

Не забудьте забэкапиться — я не проверял…
avatar
Так в рабочем варианте?
UPDATE
wnr23034_topic
SET
blog_id = 16 // id нового блога
WHERE
wnr23034_topic.blog_id = '15' // id старого блога
avatar
UPDATE
    wnr23034_topic
SET
    blog_id = 16
WHERE
    wnr23034_topic.blog_id = 15
avatar
А обновить Stream, а пересчитать количество топиков в блогах (до и после переноса), а обновить данные для комментариев?
avatar
Эх, где же вы были то, все это время, такой умный? :)))
avatar
Да я думал кто-то додумается залезть в скрипт сохранения топика :-) Там — черным по белому расписано, как переносить топик в другой блог.
Это я к чему — проще всего было бы сделать перенос топиков штатными средствами движка, т.е., написать маленький скрипт, а не прямым запросом к базе. Обычно, в этом случае, меньше вероятность потерять что-то важное при переносе. Так как тянутся за собой еще куча связанных данных.

ActionTopic.class.php
экшин
SubmitEdit


Там смотреть часть, где выполняются условия
if($sBlogIdOld!=$oTopic->getBlogId())

Т.е., учитывается изменение блога топика.
avatar
Согласен, штатными и просто никак. Надо писать плагин, который создаст себе таблицу в БД дополнительную, там будет хранить старый и новый адрес страницы, по событию 404 смотрит, если страница имеет новый адрес редиректит на новый адрес.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.