子域到网站目录的博客传输

时间:2015-10-07 作者:Vladimir

我有一个位于子域博客上的博客。实例com和我有一个位于示例上的主网站。com。它们都使用相同的wordpress模板。

我想将我的博客从子域转移到示例的目录中。com保留“最近的帖子”、“类别”和其他博客功能。

我知道有一个插件可以导入/导出wordpress帖子,但主要的问题是,我如何传输这些博客的功能。

提前谢谢。

2 个回复
最合适的回答,由SO网友:iSS 整理而成

您只需将日志文件复制到域目录,然后查看MySQL数据库(比如使用phpMyAdmin)并更改siteurlhome 中的行wp_options 与新URL相对应的表。一切都将被保留,您可能需要检查并修复经常硬编码的图像路径,如模板徽标等。这是最简单的方法。

SO网友:Nikolay Nikolov

另一种方法是在wp配置中添加这两行。php:

define(\'WP_SITEURL\', \'http://example.com/\');
define(\'WP_HOME\', \'http://example.com/\');
然后从博客复制文件。实例com到示例。com目录并最终替换数据库中的所有URL。可以使用php脚本执行此操作:

<?php

    // edit this line to add old and new terms which you want to be replaced
    $search_replace = array( \'http://blog.example.com\' => \'http://example.com\');

    //change the localhost,username,password and database-name according to your db
    mysql_connect("localhost", "root", "rootpass") or die(mysql_error());
    mysql_select_db("exampledb") or die(mysql_error());

    $show_tables = mysql_query( \'SHOW TABLES\' );
    while( $st_rows = mysql_fetch_row( $show_tables ) ) {
        foreach( $st_rows as $cur_table ) {
            $show_columns = mysql_query( \'SHOW COLUMNS FROM \' . $cur_table );
            while( $cc_row = mysql_fetch_assoc( $show_columns ) ) {
                $column = $cc_row[\'Field\'];
                $type = $cc_row[\'Type\'];
                if( strpos( $type, \'char\' ) !== false || strpos( $type, \'text\' ) !== false ) {
                    foreach( $search_replace as $old_string => $new_string ) {
                        $replace_query = \'UPDATE \' . $cur_table .
                            \' SET \' .  $column . \' = REPLACE(\' . $column .
                            \', \\\'\' . $old_string . \'\\\', \\\'\' . $new_string . \'\\\')\';
                        mysql_query( $replace_query );
                    }
                }
            }
        }
    }
    echo \'replaced\';
    mysql_free_result( $show_columns );
    mysql_free_result( $show_tables );
//    mysql_close( $mysql_link );

?>
祝你好运!