Субдомен для каждого пользователя - PullRequest
0 голосов
/ 27 июля 2011

У меня есть веб-сайт, который предоставляет каждому зарегистрированному пользователю выделенное место, например: www.mywebpage.com/user1 www.mywebpage.com/user2 www.mywebpage.com/user3 Внутри этого пути у пользователя есть свой мини-сайт.

Я бы хотел предоставить своим пользователям не путь внутри моего домена, а домен второго уровня, например: user1.mywebpage.com user2.mywebpage.com user3.mywebpage.com

Многие сайты делают это, но я не могу понять, как это получить!

  1. Должен ли я регистрировать CNAME в моей записи DNS для каждого пользователя? Как, черт возьми, я могу добиться этого с помощью PHP? Я не думаю, что возможно настроить Godaddy с помощью рукописного сценария.

  2. Я могу зарегистрировать псевдоним CNAME, который указывает каждый домен второго уровня на мой верхний домен, а затем проверить в моем верхнем домене первый токен URL-адреса, получающего пользователя: но теперь я не могу перенаправить его новая страница (которая является индексом его дочернего сайта) или я потерял веб-ссылку userx.mywebpage.com.

Как я могу справиться с этим? Буду признателен за любую подсказку о правильном пути для достижения моей цели.

Ответы [ 3 ]

2 голосов
/ 27 июля 2011
  1. Создание подстановочного знака A (*.mywebpage.com), указывающего на IP-адрес вашего сервера.

  2. Создание виртуального хоста Apache для ServerName *.mywebpage.com, указываявсе запросы к одному корню документа.Ваш скрипт просматривает имя хоста, чтобы узнать, какой это сайт пользователя.Вам не нужно перенаправлять за пределы субдомена пользователя.Если ваш сценарий видит, что субдомен «www», это ваш особый случай, когда вы отображаете основной сайт вместо материала пользователя.

0 голосов
/ 27 июля 2011

Функция, которую вы хотите увидеть, часто называется подстановочным символом sudomain (обычно эта функция доступна на сайтах блогов)

Обычно вы делаете запись CNAME * для представления поддомена с подстановочными знаками. Вместо этого, с Godaddy сделайте запись A с именем * и установите IP на ваш сервер. Мы уже делали с нашим сайтом ASP.net в прошлом (не уверен, что все еще работает с GoDaddy, но попробуйте).

С очень небольшим знанием PHP я могу предложить добавить некоторую конфигурацию перенаправления (URL Rewrite) в ваш файл httpd.conf или apache.conf.

Пожалуйста, проверьте это http://kbeezie.com/view/wildcard-subdomains-php/

после этого вы можете написать свою собственную логику. Все, что вам нужно сделать, это найти вашего пользователя из db, который находится в имени субдомена, и отобразить страницы.

0 голосов
/ 27 июля 2011

Вам не нужно настраивать DNS-записи для того, что вы пытаетесь достичь. В зависимости от того, насколько вы контролируете свой веб-сайт, если вы используете Apache, вы можете легко настроить виртуальные хосты для своих поддоменов (см. http://content.websitegear.com/article/subdomain_setup.htm)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...