Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание субдоменов, средствами РНР 
:(
    Опции темы
NNaarreekk
Дата 20.9.2009, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Ну что вопрос наверно понятен. Но на всякий оглашу!smile

Можно ли создать субдомены средствами РНР...Понятно что все пароли к хостингу имеем!

Спасибо за умный ответ!
PM MAIL WWW   Вверх
Ипатьев
Дата 20.9.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Исходя из формулировки вопроса, ответ зависит от конкретного хостера. 

PM MAIL   Вверх
NNaarreekk
Дата 20.9.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Ипатьев, а причем тут хостер?
Скажем хостер дает все права для изменения настройки  и т.д.

В этом случае можно как-то сделать??
PM MAIL WWW   Вверх
Ипатьев
Дата 20.9.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Хостер никогда не пустит юзера к ДНС.
Юзер может создать домен только обратившись к каким-то инструментам. У всех хостеров инструменты разные.

И еще. Очень рекомендуется, перед тем, как решать какую-либо задачу на РНР, сначала узнать, как она решается вообще, в общем случае. 
Это касается взаимодействия с любыми сетевыми протоколами и службами. 
PM MAIL   Вверх
NNaarreekk
Дата 20.9.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Скажем так на хостинге стоит CPanelX...В нем есть возможность создавать субдомены...значит если знать какой он запрос делает серверу то можно будет его сделать и в другом месте не в СиПанель....я прав??
PM MAIL WWW   Вверх
pizzz
Дата 21.9.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 14.12.2008
Где: Омск

Репутация: 6
Всего: 8



Вобще можно и так. А можно править htaccess из php. А можно все поддомены направить на 1 скрипт, и уже там на php разбираться с поддоменами.
--------------------
Спасибо много, жмем кнопку репутация.  Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады.     
PM MAIL ICQ   Вверх
IZ@TOP
Дата 21.9.2009, 11:05 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Что-то мне сомнительным кажется присутствие этой темы в разделе PHP: Для профи.

Цитата(NNaarreekk @  20.9.2009,  21:10 Найти цитируемый пост)
Скажем так на хостинге стоит CPanelX...В нем есть возможность создавать субдомены...значит если знать какой он запрос делает серверу то можно будет его сделать и в другом месте не в СиПанель....я прав?? 

Ты не прав. Скорее всего, CPanel работает в среде отличной от той, на которой крутится твой сайт, потому и имеет доступ к сервису добавления/удаления записей в NS.

Что касается вопроса "как", есть множество способов. На PHP я работал только с утилитой nsupdate. Выглядит это следующим образом:

Код

$ds = array(
    0 => array("pipe", "r"),  // отсюда читает дочерний процесс (наш пишет)
    1 => array("pipe", "w"),  // сюда пишет дочерний процесс (наш читает)
    2 => array("file", "/tmp/ns_error_log", "a") //сюда ошибки
);

$process = proc_open('nsupdate -k /home/user/ns_access_key', $ds, $pipes);
if (!is_resource($process)) {
    die("cant connect");
}

fwrite($pipes[0], "server ns.example.com\n");
fwrite($pipes[0], "update add subdomain.mysite.com. 3600 A 123.123.123.123\n");
fwrite($pipes[0], "send\n");
fwrite($pipes[0], "quit\n");

$buffer = '';
while(!feof($pipes[1])) {
    $buffer .= fgets($pipes[1], 1024);
}

fclose($pipes[0]);
fclose($pipes[1]);

proc_close($process);





--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
split
Дата 21.9.2009, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 20.5.2009

Репутация: 1
Всего: 1



Держи!
Авто поддомены в Cpanel
http://rapidshare.com/files/282936898/supersub.rar.html
PM MAIL   Вверх
Ипатьев
Дата 21.9.2009, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(pizzz @  21.9.2009,  10:49 Найти цитируемый пост)
А можно править htaccess из php.

к сожалению, в одном htaccess прописать субдомен невозможно.
Цитата(pizzz @  21.9.2009,  10:49 Найти цитируемый пост)
А можно все поддомены направить на 1 скрипт, и уже там на php разбираться с поддоменами. 

а вот это уже более здравая идея. 
если требуется автоматическое создание субдоменов, то, может быть, не требуется их создание вовсе?
PM MAIL   Вверх
NNaarreekk
Дата 21.9.2009, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



IZ@TOP, спасибо за код...наверно разберусь!!

Но тут прозвучала идея которая в конкретно моем случае самое оно:
Цитата(Ипатьев @  21.9.2009,  13:22 Найти цитируемый пост)
если требуется автоматическое создание субдоменов, то, может быть, не требуется их создание вовсе? 

Цитата(pizzz @  21.9.2009,  12:49 Найти цитируемый пост)
А можно все поддомены направить на 1 скрипт, и уже там на php разбираться с поддоменами

У меня по всей вероятности именно этот случай...можно про это поподробнее??

split, сильный код спасибо...но не дял этого случая! smile 

Это сообщение отредактировал(а) NNaarreekk - 21.9.2009, 11:46
PM MAIL WWW   Вверх
Ипатьев
Дата 21.9.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



сделать запись в файле зоны для *.domain.com 
как это делается в инструментах вашего провайдера, мне неизвестно. наверное, есть какая-то галочка в интерфейсе.
аналогично сконфигурировать и веб-сервер. 
PM MAIL   Вверх
IZ@TOP
Дата 21.9.2009, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(NNaarreekk @  21.9.2009,  12:43 Найти цитируемый пост)
У меня по всей вероятности именно этот случай...можно про это поподробнее??

Все очень просто. Сначала вам необходимо разобрать на зону, домен и сабдомены строку из $_SERVER['HTTP_HOST'], а потом уже в зависимости от данных выполнять определенные действия.

Пример:
Код


// Предположим, что у нас субдомен третьего уровня вида sub.domain.zone.
$domains = explode('.', $_SERVER['HTTP_HOST']);
switch($domains[0]) {
   case 'sub':
      // выполняем действия для домена sub.
      break;
   case '...': ...
       break;
   default: // что-то делаем если поддомен нам неизвестен.
}

Это самый простой вариант и не учитывает множественной вложенности поддоменов вроде a.b.c.d.e.domain.zone.

Что касается направления всех поддоменов на ваш хост - Ипатьев уже подсказал.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
NNaarreekk
Дата 21.9.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Ипатьев, язнаю это плохо, но что делать я такой...мне нужно все разжевать и в рот положить! smile 


Цитата(Ипатьев @  21.9.2009,  13:53 Найти цитируемый пост)
сделать запись в файле зоны для *.domain.com 

какая запись?
Цитата(Ипатьев @  21.9.2009,  13:53 Найти цитируемый пост)
есть какая-то галочка в интерфейсе.

ну скажем галочку поставил потом что с ней сделать?
PM MAIL WWW   Вверх
pizzz
Дата 22.9.2009, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 14.12.2008
Где: Омск

Репутация: 6
Всего: 8



Вот у меня у хостера в панели есть кнопка, все поддомены перенаправлять в рут директорию. То есть например есть сайт site.ru и при запросе отрабатывает index.php который лежит в корневой папке и который указан в htaccess как DirectoryIndex. Так вот. При запросе domen.site.ru запрос так же пойдет на index.php и в нем уже в переменной $_SERVER['HTTP_HOST'] будет храниться domen.site.ru. Если запрашивают pod.domen.domenov.site.ru то в переменной $_SERVER['HTTP_HOST'] будет храниться pod.domen.domenov.site.ru. Идея понятна??

Теперь в index.php парсим эту переменную ($_SERVER['HTTP_HOST']) и узнаем какой поддомен вызвали. От сюда пляшем как хотим...
--------------------
Спасибо много, жмем кнопку репутация.  Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады.     
PM MAIL ICQ   Вверх
NNaarreekk
Дата 22.9.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



pizzz, спасибо..идея понятна..пойду хостинг мучать!
темку не закрываю, наверно еще загляну!!
PM MAIL WWW   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.