МаксМногосайт v. 0.1
Пятница, 15 мая 2009 г.
Рубрика: Сайтостроительство
Метки: cms | maxsite | seo
Подписаться на комментарии по RSS
Рубрика: Сайтостроительство
Метки: cms | maxsite | seo
Подписаться на комментарии по RSS
А вот и обещанная ссылка на скачивание.
Ни в коем случае не ставьте сразу на рабочий сайт! Я конечно всё протестировал, но лучше проверьте как заработает.
Наипервейшая и наипростейшая версия. Надеюсь будет развиваться... Есть к чему стремиться! Качайте! Ах да - на винде не тестировал.
Комментариев: 7
бага:
при указании номера порта, на котором висит web-сервер, получаем ошибку
Error Number: 1146
Table 'mybase.mydomainru:80__options' doesn't exist
SELECT * FROM (`mydomainru:80__options`)
нужно в /application/config/database.php отсекать еще и номер порта
а символы '-' и '.' не уничтожать, а заменять на что-то другое. иначе сайты навроде 'mydomain.ru', 'my-domain.ru' и 'my.domain.ru' будут обращаться в одни таблицы.
мой вариант
$pref = $_SERVER["HTTP_HOST"];
$pref = str_replace('www.', '', $pref);
$pref = str_replace('-', '_', $pref);
$pref = str_replace('.', '0', $pref);
if(strpos($pref, ':'))
$pref = substr($pref, 0, strpos($pref, ':'));
$db['default']['dbprefix'] = 'max_'.$pref.'__' ;
за полную работоспособность не ручаюсь, но у меня пока работает.
двойное подчеркивание в префикс поставил, потому что в этом случае phpmyadmin группирует таблицы по префиксу, что удобно, когда в одной базе куча таблиц
Вы правы. Это сделаю, не проблема. Спасибо за версию :) Порт по-моему отсекается на уровне maxsite или codeigniter. По крайней мере у меня проблем с портами не возникало и не возникает. На других сайтах тоже ошибок не нашёл.
да, и еще нужно конфиг поправить, чтобы путь к кешу каждого сайта был индивидуален. иначе бывает, что на одном блоге выводятся закешированные виджеты с другого)
у меня работает так
$pref = $_SERVER["HTTP_HOST"];
$pref = str_replace('www.', '', $pref);
if(strpos($pref, ':'))
$pref = substr($pref, 0, strpos($pref, ':')); //уберем указание порта из домена
if ($pref{strlen($pref)-1}=='.')
$pref=substr($pref,0,-1); //если домен указан в полной транскрипции то уберем точку в конце.
$config['cache_path'] = '/system/cache/' . $pref . '/';
в папке /system/cache/ нужно создать папку с именем домена и выставить на нее права 777
Ага, спасибо огромное! Это сделаю, как только немного разберусь с работой. На форуме MaxSite CMS эта тема обсуждалась. Скоро внесу изменения в файлы, но как только разберусь с проектами.
Клевая задумка!
Вопрос: как распределяются память и по сайтам?
20 сайтов будет 100МВ?
Память распределяется как обычно. Как если бы вы поставили их по отдельности. Потребление соответственно зависит от суммарной посещаемости. Как и всегда.