iCore - бесплатный движок социальной сети

Вы не представились. Зарегистрироваться.
восстановить пароль
Карма блога:
4,88

ДоработкиБлог «Доработки» (4)

Система поддоменов для блогов и пользователей

Теперь у блогов и пользователей есть свои поддомены.
Читайте как настроить поддомены у себя на хостинге.

Для организации поддоменов существует директория /dns и код для создания списка поддоменов и пользователей. Эта доработка существенно изменила код системы, но идеологически все упирается в массив блогов/пользователей и кода, который подставляет поддомен только в случае присутствия имени поддомена в массивах $__users/$__blogs

$USER_LINK = ($__users[strtolower($user)]? 
'http://' . $user . '.' . $_SERVER['DNS']['SITE']:
'http://' . $_SERVER['DNS']['SITE'] . '/users/' . $author . '.html');


Это означает что вы можете при желании отключить поддомены.

Первоначально я писал систему поддоменов не зная, что можно создать поддомен * и направить все запросы с поддоменов на основной сайт. Так появились массивы $__users и $__blogs в соответствующих файлах dns/*.php. Можно обойтись и без этих массивов, но тогда исчезнет возможность отключить поддомены.

Файл /dns/inc.php


// подключаем кэш
include $_SERVER['DOCUMENT_ROOT'].'/include/cache/dns.php';

$__blogs = $cache_blogs;
$__users = $cache_users;

$life = 'explay.life';

$_SERVER['DNS'] = array(
'SITE' => $life,
'CSS' => 'css.' . $life,
'JS' => 'js.' . $life,
'IMG' => $life
);
// Не к месту SEO
$_SERVER['SEO'] = array(
'TITLE' => 'Пирамиды. «Pyramid-Group»'
);


Важная переменная $life, которая указывает на адрес сайта. Она нужна в случае если разработку вы ведете на одном домене, а живой сайт запускаете с другого, который будет припаркован к текущему домену.

$_SERVER['DNS'] — нужен для распределения нагрузки на другие домены/поддомены.

$_SERVER['SEO'] — переменная, которая не к месту, но нужна для SEO. Дело в том, что разработка DNS, ЧПУ и SEO шла одновременно.

Заключительный шаг — это создание кеша блогов и пользователей для системы поддоменов. Как не парадоксально, но для внедрения этого кода был выбран блок tags.php, т.к. массивы надо было периодически обновлять.

/include/blocks/tags.php

if (is_cached ('dns.php', (72000))) $__dns = true;
else {
$__dns = build_dns_content();
cache_file ('dns.php', $__dns);
}
...


Как отключить поддомены?


Очень просто. В файле dns/inc.php закомментировать строки 5-7:


//include $_SERVER['DOCUMENT_ROOT'].'/dns/blogs.php';
//include $_SERVER['DOCUMENT_ROOT'].'/dns/users.php';
// подключаем кэш
//include $_SERVER['DOCUMENT_ROOT'].'/include/cache/dns.php';


и изменить строки 10-11 на


$__blogs = array();
$__users = array();




Комментарии:

Вы не можете обсуждать рецепты. Для этого необходимо авторизоваться или зарегистрироваться.

С вами на этой странице ↓

1 гостей сайта