2011-01-08 2 views
14

Как предлагать приложения Basecamp/SAAS как поддомены клиентам?Как предложить пользовательские поддомены для приложения SAAS

Например, мой сайт URL является http://www.example.com всякий раз, когда пользователь регистрации я хочу предложить им URL, как http://company.example.com, который должен загружать файлы/содержимое из /app директории сайта.

А потом я хочу им выбрать свой собственный домен/поддомен через CNAME, так что они могут иметь URL как http://clients.mywebsite.com

Я хочу сделать это в Pure PHP и .htaccess и Offcourse все происходит автоматически.

И я хочу, чтобы сохранить структуру URL же .., то есть http://company.example.com/login, http://company.example.com/accounts, http://company.example.com/files/style.css хотя эти файлы находятся в каталоге /app я хочу, чтобы они были доступны, как это.

Я могу обрабатывать все функции PHP, мне нужна помощь с кодами .htaccess и как работать с CNAME.

ответ

11

Убедитесь, что DNS разрешает все поддомены, включив следующий в зоне домена:

*.example.com. 14400 IN A HereBeIP 

Далее настройте веб-сервер распознавать все входящие запросы, для Apache, вам нужно добавить следующее VirtualHost:

ServerAlias *.example.com 

Вот и все. Остается только логика в коде, вам нужно проверить имя хоста, чтобы узнать, был ли запрос выполнен на example.com или foo.example.com.

Обновлено с более подробной информацией.

Так, предполагающие ваши файлы в /path/to/files/app, вам нужно настроить виртуальный хост так:

<VirtualHost> 
    SeverName example.com 
    ServerAlias *.example.com 
    DocumentRoot /path/to/files/app 
    # plus what else is needed 
</VirtualHost> 

Таким образом, все запросы будут разрешаться /app каталог. Чтобы проверить его, примените настройку DNS или просто добавьте домены, которые вы хотите протестировать, в свой файл hosts, /etc/hosts на Linux или c:\Windows\System32\drivers\etc\hosts на Windows.

+0

Как я могу это сделать с помощью .HTACCESS, я имею в виду всякий раз, когда запрос отправляется (http://company.example.com) php будет отображать страницу соответствующим образом, но я хочу, чтобы структура URL была такой же. –

+0

Короче говоря, вы не можете просто .HTACCESS –

+0

Как сказал Дагон, вы не можете сделать это с .htaccess. Удостоверьтесь, что применяете вышеуказанные настройки, то, что осталось, это просто конфигурация Apache, чтобы указать на ту же структуру. –

 Смежные вопросы

  • Нет связанных вопросов^_^