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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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