Когда вы автоматически создаете поддомены при регистрации пользователя, создается ли новый веб-сайт или создается внешний вид веб-сайта?


Мне интересно, становятся ли поддомены, созданные при регистрации, веб-сайтами, или они просто создают иллюзию, что они являются веб-сайтами вроде example.com/username?

Я пытаюсь создать что-то вроде user.domain.com и не можете действительно найти что-то полезное для этого? Есть ли способ сделать это так, чтобы я мог разрешить настройки учетной записи для клиентов?

Мне нужно, чтобы они были похожи на автономные веб-сайты, чтобы я мог пойти и настроить их по запросам клиентов, так что каков наилучший способ сделать это?

Author: AAA, 2010-09-07

4 answers

Другие ответили на основные моменты вашего вопроса, но я хотел коснуться того, что вы называете "иллюзией" веб-сайта.

Существует несколько различных способов обслуживания данного приложения в домене, поддомене или каталоге, от статических файлов до одного файла, обрабатывающего каждый запрос, независимо от того, какой путь или домен был запрошен. Ни один метод не является более или менее "реальным", чем любой другой. Единственным методом, который я бы назвал "иллюзией", был бы веб-сайт, замаскированный за другим веб-сайтом, использующим рамки, что, как правило, Действительно плохая идея. (Попробуйте сделать закладку на сайте, где URL-адрес не меняется при нажатии.)

 0
Author: Annika Backstrom, 2010-09-07 15:54:20

Поддомены обычно сопоставляются с определенным путем на веб-сервере. Например, Apache указывает эти пути в httpd.conf, они называются VirtualHost. Пример может выглядеть так:

<VirtualHost *:80>
ServerName subdomain.domain.org
DocumentRoot "apache2/htdocs/domain/"
</VirtualHost>

Эта запись сопоставляет Uri subdomain.domain.org с путем apache2/htdocs/domain/. Теперь вы можете изменить или представить страницу по этому пути, и она не будет сталкиваться с другими сайтами.

 4
Author: Femaref, 2010-09-07 15:43:44

Вашей DNS-записи потребуется подстановочный знак для *.domain.com это позволит другим пользователям узнать, что jack.domain.com ведет к правильному местоположению.

Как только это будет сделано, ваш .htaccess должен будет знать, как обрабатывать запросы *.domain.com. Более подробную информацию об этом можно найти в разделе правила перенаправления поддоменов htaccess.

Суть в том, что кто-то заходит на jack.domain.com ваш сервер видит это, а затем говорит: Хорошо, мы передаем jack как часть строки запроса, чтобы каждая страница могла видеть, что мы работаем под jack. Затем в своих сценариях вы просто использовали бы эту информацию, чтобы вытащить ее и отобразить данные для jack.

Существует множество различных способов настройки, поэтому трудно сказать, как адаптировать это к вашим потребностям. Но, надеюсь, этой информации будет достаточно, чтобы вы начали. Просто помните, что если вы тестируете на локальном хосте, файл localhost HOST не допускает подстановочных DNS-имен, поэтому для тестирования вам необходимо вручную добавить каждый поддомен в этот файл хоста для тестирования.

 2
Author: Brad F Jacobs, 2010-09-07 15:45:22

Ответ довольно специфичен для того, где вы регистрируетесь. Между доменами, поддоменами и учетными записями хостинга нет внутренней связи - вы могли бы иметь example.com размещенный где-то, и subdomain.example.com размещенный где-то совершенно в другом месте, если бы вы захотели. Все дело в вашем хосте, его настройке и в том, как вы/они настраиваете DNS.

Вы могли бы сделать это несколько проще, имея два сайта, один для example.com и один для *.example.com, и иметь последнюю основу для корень документа в первой части имени. В Apache это так же просто, как

VirtualDocumentRoot /path/to/site/subdomains/%1

Что касается браузера, то каждое имя представляет отдельный сайт, и при правильной настройке файлов cookie утечка между сайтами будет незначительной или вообще отсутствовать. Единственной проблемой будет доступ по FTP, если вы решите предоставить это - каждый пользователь должен быть настроен так, чтобы его субдир был их домашним каталогом, и в идеале был укоренен или что-то в этом роде, чтобы они не могли пойти и посмотреть на вещи других людей. Очевидно, что для этого потребуется некоторое сотрудничество с/от вашего веб-хостинга. (По крайней мере, для использования VirtualDocumentRoot им потребуется запустить mod_vhost_alias. Есть и другие способы, связанные с mod_rewrite, но в любом случае у вас будет та же проблема с доступом по FTP.)

 2
Author: cHao, 2010-09-07 16:19:36