Одинаковые файлы для двух блогов

Итак, поехали…

Хочу сделать два блога, использующих один и тот же дизайн. Чтобы не было глюков, хочу, чтобы они обращались к одним и тем же файлам. Базы данных блоги будут использовать разные. Как это сделать?

Я примерно представляю, как это сделать в алгоритме… Написал бы кто-нибудь в PHP.

Вот файл wp-config.php:

<?php
// ** Настройки MySQL ** //

// ВНИМАНИЕ! Меняем эту часть
define('DB_NAME', 'Имя_базы');    // Название базы данных
// ВНИМАНИЕ! Закончили менять

define('DB_USER', 'Имя_пользователя');     // Пользователь для MySQL
define('DB_PASSWORD', 'Пароль'); // ...и пароль
define('DB_HOST', 'localhost');    // уверен на 99%, что значение менять не придется
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

// Вы можете установить несколько WordPress в одну базу данных, используя разнфе префиксы
$table_prefix  = 'wp_';   // Только цифры, латинские буквы, и подчеркивания!

// Измените значение для локализации WordPress. Соответствующий файл MO
// выбранного языка должен находиться в папке wp-content/languages.
// Например, закачайте ru_RU.mo в папку wp-content/languages и напишите WPLANG 'ru_RU'
// для включения поддержки русского языка.
define ('WPLANG', 'ru_RU');

/* Похоже, что все! Заканчиваем редактировать и начинаем писать в блог! */

define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?>

Как сделать так:

<?php
// ** Настройки MySQL ** //

// ВНИМАНИЕ! Меняем эту часть
Если домен="домен.ru" тогда
define('DB_NAME', 'Имя_базы_1');    // Название базы данных
Если домен="поддомен.домен.ru" тогда
define('DB_NAME', 'Имя_базы_2');    // Название базы данных
// ВНИМАНИЕ! Закончили менять

define('DB_USER', 'Имя_пользователя');     // Пользователь для MySQL
define('DB_PASSWORD', 'Пароль'); // ...и пароль
define('DB_HOST', 'localhost');    // уверен на 99%, что значение менять не придется
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

// Вы можете установить несколько WordPress в одну базу данных, используя разнфе префиксы
$table_prefix  = 'wp_';   // Только цифры, латинские буквы, и подчеркивания!

// Измените значение для локализации WordPress. Соответствующий файл MO
// выбранного языка должен находиться в папке wp-content/languages.
// Например, закачайте ru_RU.mo в папку wp-content/languages и напишите WPLANG 'ru_RU'
// для включения поддержки русского языка.
define ('WPLANG', 'ru_RU');

/* Похоже, что все! Заканчиваем редактировать и начинаем писать в блог! */

define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?>

Или так не получится? Предложите свой вариант.

Установить WordPress MU или просто скопировать файлы – не предлагать. Не хочу по два раза заливать плагины и др.

http://denis.boltikov.ru/2007/07/13/neskolko-kopij-wordpress-na-odnom-dvizhke-i-baze/

Спасибо. Немного не понял, но вопрос отправил Денису.

А чего там понимать? Из доменного имени блога делается префикс для таблиц. База одна, пользователь один, пароль один. Только префиксы разные. А str_replace нужны потому, что в префиксе, т.е. в названии таблиц, недопустимы точки и минусы. Это изменения нужно внести до инсталляции. Инсталлировать по каждому домену.

Один блог уже проинсталирован. Переустанавливать не хочу… Гемор…
То есть, нельзя в одном просто прописать, а во втором прописать и инсталлировать.

$prefix = $_SERVER[’HTTP_HOST’];
$prefix = str_replace(’www.’, ”, $prefix);
$prefix = str_replace(’-’, ”, $prefix);
$prefix = str_replace(’.’, ”, $prefix);
$table_prefix = $prefix.’_’ ; //’wp_’;

А что здесь значит www. ?
Могли бы мне переправить этот код с моими параметрами:
Домен_1: домен.ru
Домен_2: поддомен.домен.ru
Префикс_таблиц_1: wp_
Префикс_таблиц_2: wp_mysite_

www. – значит нафиг. Это для случаев, когда сайт и с www, и без оного.

Для Вашего случае получается что-то типа

if ($_SERVER[’HTTP_HOST’] == 'поддомен.домен.ru') $table_prefix = 'wp_mysite_';
else $table_prefix = 'wp_';

Переустановка уже живого блога не понадобится. Надеюсь. 🙂
Кстати, Вы догадываетесь, что аплоады у них будут тоже одинаковые? 😉

И вопрос знатокам: а как с кешированием при таком раскладе?

Anonymous
Отправить
Ответ на: