Hosting Tricks: Как привязать неограниченное количество доменов к одному хостинг-аккаунту
Иногда нам бывает нужно использовать существующий хостинг-аккаунт для (возможно, временного) размещения другого сайта на нем. Но что делать, если хостинг-провайдер разрешает создание только одного корневого каталога и привязываение алиасов к каталогу, в котором лежит главный сайт (как это делает, например, компания GoDaddy.com)? Мы можем использовать описанный ниже трюк с Apache+mod_rewrite для размещения неограниченного количества доменов в одном каталоге хостинга.
Для начала, нам нужно, чтобы новый домен указывал на IP-адрес хостингового сервера. Если адрес сервера статичен, мы можем просто сделать A-запись в панели управления нашей DNS-зоной:
new-domain.com IN A IP.ADD.RE.SS
Если Вы не знаете IP-адрес хостингового сервера или этот адрес не постоянен (например, из-за специфичных технологий балансировки нагрузки, используемых Вашим хостинг-провайдером), Вы можете истользовать простой трюк с CNAME-записью в Вашей DNS-зоне:
new-domain.com IN CNAME already-hosted-domain.com.
После завершения первого этапа настройки у нас есть домен new-domain.com, указывающий на используемый хостинг-сервер. Теперь нам необходимо добавить поддержку нашего нового домена к этому серверу. Это можно сделать при помощи опции “Domain aliases” в панели управления хостингом или какой-нибудь другой опции, имеющей такое же значение у используемого хостинг-провайдера.
После того, как мы ассоциировали наше новое доменное имя с существующим каталогом на хостинговом сервере (/hosting/dir), единственное, что нам необходимо сделать – это заставить хостинговый сервер использовать некоторый подкаталог для всех запросов к домену new-domain.com (/hosting/dir/new-domain). Для того, чтобы получить такой эффект, нам нужно создать файл .htaccess в каталоге /hosting/dir и поместить в него следующий код:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/new-domain/
RewriteCond %{HTTP_HOST} new-domain\.com$
RewriteRule (.*) http://already-hosted-domain.com/new-domain/$1 [L]
Вот и все! После создания файла все запросы к сайту http://new-domain.com/ будут перенаправляться в каталог /hosting/dir/new-domain.
Related posts:
- Hosting Tricks: Как делегировать управление сабдоменом внешнему DNS-серверу
- Как получить “не зависящий от провайдера” IP-адрес для домашнего сервера?
- Как клонировать виртуальную машину при использовании VmWare Server
- Образовательные Подкасты от Университетов: MIT и Гарвард
- Обзор Типичных Конфигураций Для Nginx

5 Responses to this entry
[...] In one of my last posts about cheap hosting unlimited number of domains, I have described how to point your domain to some sub-directory of an existing hosting account. But sometimes hosting provider requires parking of your DNS name for creating aliases in hosting account. For example, hosting platform, created by me and used on Free Adult hosting Servik.com service, requires your domain’s NS-records to be directed to provider’s own DNS-servers. What can you do if you don’t want to park entire domain to provider’s DNS-servers and want to host only one sub-domain on its servers? [...]
If you need several domains (for example, domain1.com, domain2.com, domain3.com), you need to re-initialize mod_rewrite using RewriteEngine On (otherwise you will receive 500 error):
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#domain2.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} domain2.com
RewriteRule (.*) http://domain1.com/domain2/$1 [L]
#domain3.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} domain3.com
RewriteRule (.*) http://domain1.com/domain3/$1 [L]
#specific options for domain1.com will be here
Can the opposite of this be accomplished?
Can I make it so that when a user visits http://existing-site.com/new-site the content is served from http://subdomain.new-site.com?
Thanks for sharing
best regards
JOny
http://xtupload.com
Thanks for sharing
best regards
JOny
http://xtupload.com