我用两个不同的数据库设置了WP实例,一个用于只读,另一个用于管理。
但是,一旦管理员进行了更改,就应该复制admin-DB并将其添加到SLAVE-DB服务器。
// check if url contains wp-login or wp-admin and then create DB configuration for Master DB else Slave DB.
$url = "http://".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'REQUEST_URI\'];
if ( false !== strpos( $url, \'wp-admin\' ) || false !== strpos( $url, \'wp-login\' ) ) {
define( \'DB_NAME\', \'SLAVE_DB_NAME\' );
define( \'DB_USER\', \'SLAVE_DB_USER\' );
define( \'DB_PASSWORD\', \'SLAVE_DB_PASSWORD\' );
define( \'DB_HOST\', \'SLAVE_DB_HOST\' );
} else {
define( \'DB_NAME\', \'MASTER_DB_NAME\' );
define( \'DB_USER\', \'MASTER_DB_USER\' );
define( \'DB_PASSWORD\', \'MASTER_DB_PASSWORD\' );
define( \'DB_HOST\', \'MASTER_DB_HOST\' );
}