Несколько блогов на одной инсталляции Wordpress (без WPMU)
Вводная: сайтов у меня куча, большая часть на wordpress. Задолбался следить за версиями: хочу обновлять все кучкой.
Задача: одна инсталляция Wordpress, куча сайтов, куча баз (в одну сливать не буду, лениво и могут быть проблемы с плагинами – не все пользуют префиксы к базам данных)
Немного погуглил.
Решение: Вордпресс ставим в одном месте, папки доменов делаем ссылками на данную.
Для конфига пишем следующее.
Вариант 1
// allowing for multiple blogs using symlinks
// we grab the server name, lop off the www if present so it works
// with or without.$server_array = explode(».», $_SERVER['SERVER_NAME']);
if ($server_array[0] == ‘www’) {
array_shift($server_array);
}$server = implode(’.', $server_array);
// now we check a specific whitelist of servers
// for each server, we set the same set of parameters just like
// we always do in WP, but now on a per-domain basis. The same thing
// could be achieved with subdomains and even subdirs by grabbing other params.
//
// UPLOADS is not typically set in the WP config.
// It is used in wp-includes/functions.php.
// UPLOADS overrides the database parameter upload_path which is set on the
// Miscellaneous Options page.
// The option set on that page and stored in the DB is now worthless.switch ($server) {
case ‘example1.com’:
define(’DB_NAME’, ‘example1′); // The name of the database
define(’DB_USER’, ‘e1user’); // Your MySQL username
define(’DB_PASSWORD’, ‘132bsDFfh’); // …and password
define(’UPLOADS’, ‘wp-content/uploads/e1/’);
break;
case ‘example2.com’:
define(’DB_NAME’, ‘example2′); // The name of the database
define(’DB_USER’, ‘e2user’); // Your MySQL username
define(’DB_PASSWORD’, ‘4v9eNd’); // …and password
define(’UPLOADS’, ‘wp-content/uploads/e2/’);
break;
case ‘example3.com’:
define(’DB_NAME’, ‘example3′); // The name of the database
define(’DB_USER’, ‘e3user’); // Your MySQL username
define(’DB_PASSWORD’, ‘art4v9eNd’); // …and password
define(’UPLOADS’, ‘wp-content/uploads/e3/’);
break;
default:
echo «Whoops!»;
}
Вариант 2
$host = $_SERVER['HTTP_HOST']; $parts = explode('.',$host); if ($parts[3] = "") { $domain = $parts[0]; } else { $domain = $parts[1]; } switch ($domain) { case "domain1": $db = "database1"; break; case "domain2": $db = "database2"; break; } define('DB_NAME', $db); define('DB_USER', 'user'); define('DB_PASSWORD', 'password'); define('DB_HOST', 'hostname');
Зачем люди покупают загородные дома в Подмосковье? Что бы в пробках по утрам стоять?
Изготовление вывесок из неоновых трубок не так уж и дорого… А сколько стоит согласовать ее установку?
Когда «специалисты» по системам отопления научатся правильно ставить радиаторы? У нас в офисе у батареи аж три вентиля, но забыли сделать сгон, и теперь приходится париться – «придушить» батарею нельзя.


Post a Comment