Продолжаем усоциаливать инстант
Как сделать имена типа user.instantcms.ru
Открываем core/cms.php строка 1526
в конце функции detectURI(), перед "return $uri;"
вставить
Естественно, в настройках хостинга должна быть включена обработка несуществующих субдоменов основным сайтом
Внимание! Данная модификация может негативную SEO-реакцию, т.к. порождается много субдоменов с одинаковыми description
По поводу SEO — не ко мне
примеры: 1c.allmarkets.com.ua, incolor.allmarkets.com.ua/
Как сделать имена типа user.instantcms.ru
Открываем core/cms.php строка 1526
в конце функции detectURI(), перед "return $uri;"
вставить
//tarzan обработка субдоменов $inDB = cmsDatabase::getInstance(); exit; } $q = "SELECT id,login FROM cms_users WHERE login LIKE '".mysql_real_escape_string($matches[1])."' LIMIT 0,1"; $result = $inDB->query($q) ; //если есть такой пользователь - обрабатываем if ($r = $inDB->fetch_assoc($result)){ if ($_SERVER['QUERY_STRING']=='') { $uri='users/'.$r['login'];} //показываем страницу профиля //если запрошена страница вне профиля пользователя, перенаправляем в основной адрес exit; } } } }
Внимание! Данная модификация может негативную SEO-реакцию, т.к. порождается много субдоменов с одинаковыми description
По поводу SEO — не ко мне
примеры: 1c.allmarkets.com.ua, incolor.allmarkets.com.ua/

так в том-то и дело, что изменяется нормально после перехода
Или с кармой допустим связать? - набрал карму 100 - держи личный домен))
$inDB = cmsDatabase::getInstance(); if (strpos($_SERVER['HTTP_HOST'],'www.')!==false){ header('location: http://yamolodoi.ru'.$_SERVER['REQUEST_URI']); exit; } if (preg_match('/([a-z,A-Z,0-9,\-,\_]+)\.yamolodoi\.ru/', $_SERVER['HTTP_HOST'], $matches)) { if (isset($matches[1])){ $q = "SELECT id,login FROM cms_users WHERE login LIKE '".mysql_real_escape_string($matches[1])."' LIMIT 0,1"; $result = $inDB->query($q) ; //если есть такой пользователь - обрабатываем if ($r = $inDB->fetch_assoc($result)) { //print_r($_SERVER); if ($_SERVER['REQUEST_URI'] == '/') { //показываем страницу профиля $blog_sql = mysql_query("SELECT seolink FROM cms_blogs WHERE user_id = '".$r['id']."'"); if(mysql_num_rows($blog_sql) == 1) { $uri='blogs/'.mysql_result($blog_sql,0); } else { header('location: http://yamolodoi.ru'); exit; } } else { //если запрошена страница вне профиля пользователя, перенаправляем в основной адрес header('location: http://yamolodoi.ru'.$_SERVER['REQUEST_URI']); exit; } } } }да, можно урл-поле приделать к клубам и по нему строить запросы. Какие проблемы? Работы с кофейком на полчаса-час
отличный хак.
если доработать, на платный тянет :)
В настройках DNS сервера добавляем новую запись *.site.ru типа А
Далее нужно задействовать ServerAlias. Открываем наши настройки apache домена, который будет обрабатывать нам субдомен и придаём следующий вид
ServerAlias www.site.ru *.site.ru
Хотя, возможно причина в неправильной настройке на хостинге, или еще в каком-то упущении, подскажите пожалуйста.
1. Во всех случаях теряется авторизация. Точнее, производится для каждого поддомена отдельно.
2. При вводе несуществующего имени пользователя открывается работающее зеркало сайта, по ссылкам ходим нормально, в адресной строке сохраняется поддомен. Так словно движок не обрабатывает домен вообще.
3. При вводе существующего имении ошибка Ошибка 310 (net::ERR_TOO_MANY_REDIRECTS): Обнаружено слишком много переадресаций. В адресной строке http://testuser.####.com/login
4. Убрав код, через один из поддоменов вошла на зеркало, прошла авторизацию. Вернула код. Теперь попадаем на страницу пользователя, но уйти с нее невозможно. При переходе по ссылкам отображаются разные пути внутри поддомена, а открытой остается страница пользователя.
По сути проблемы две: нет сквозной авторизации и не работает возврат на основной домен. Искать свои ошибки или дело в версии?