Техническая поддержка

Описание услуг "синоним" и "субдомен"

Что такое синоним

Услуга синоним подразумевает организацию дополнительного веб-сайта для выбранного доменного имени. При этом физически запросы к этому сайту обрабатываются процессом другого виртуального сервера, работающего на нашем хостинге, который по отношению к данному синониму является родительским или базовым. То есть, используя услугу хостинга веб-сервера на доменном имени www.111.ru, Вы можете "привязать" к этому имени еще одно или несколько доменных имен дополнительно - www.222.ru, www.333.ru или любое другое. Они будут являться синонимами.

Обратите внимание: Вы можете завести до 500 синонимов и до 500 субдоменов, эта услуга бесплатна. Но в случае, если Вы регистрируете для синонима новое доменное имя, то необходима будет оплата его регистрации.

Разновидность синонима - субдомен

Услуга "субдомен" (SubDomain) является тем же синонимом, но с одним отличием: она позволяет заводить только домены третьего уровня, вида www.subdomain.111.ru и т.д.. Вы можете завести в рамках базового сервера до 500 субдоменов, которые могут указывать как на основной каталог вашего сервера, так и на его поддиректории.

Обратите внимание: синонимы и субдомены регистрируются только для основного сервера. Для дополнительных web-серверов синонимы и субдомены не регистрируются.

Как завести субдомен:

  • Зайдите в панель управления услугами с управляющим либо техническим логином и паролем.
  • В списке услуг выберите услугу www.ваш_домен.ru.
  • Пройдите по ссылке "Добавить услугу" -> SubDomain.
  • Введите имя директории, на которую будет указывать создаваемое доменное имя третьего уровня, относительно директории ~/ваш_домен.ru/www/.

    После заведения субдомена на Сервере Статистики он будет автоматически активирован примерно в течение часа -- это время требуется для вступления в силу изменений в зоне DNS.

    Обработка почты для синонимов

    Почта для синонима доставляется на основной (родительский) почтовый сервер. К примеру, есть основной сервер www.host.ru. К нему заведен синоним www.newhost.ru. Почта для пользователя vasya@newhost.ru будет доставлена на почтовый сервер mail.host.ru пользователю vasya. Фактически vasya@newhost.ru и vasya@host.ru -- это разные имена одного и того же почтового ящика.

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

    Услуга "синоним" может быть использована в следующих случаях:

    • организация нескольких имен для одного и того же сайта (несколько сайтов с абсолютно одинаковым контентом)
    • создание отдельного сайта для подраздела (подкаталога) родительского сайта
    • создание нескольких сайтов в виде name-based virtual hosts (только для контрактов "Максимальный" и "МаксимальныйПлюс")

    Типы синонимов

    В данный момент есть два вида услуги "синоним":

    1. path
    2. vhost

    Они могут указывать на весь сервер или на его часть -- подкаталоги.

    Рассмотрим первый тип - 'path'. Предположим, что есть основной сервер www.host.ru. Нам нужно создать синоним www.newhost.ru , который должен указывать на www.host.ru/new/. Нужный тип синонима - 'path'.

    Запрос пользователя www.newhost.ru будет преобразован в www.host.ru/new/, и в таком виде он будет направлен к Вашему серверу. Соответственно, значение переменной окружения HTTP_HOST при обращении к синониму соответствует имени родительского сервера, то есть, в нашем случае это будет www.host.ru. Иными словами, на родительском сервере www.host.ru невозможно отличить запрос к синониму http://www.newhost.ru от запроса к основному серверу с указанием каталога http://www.host.ru/new/

    Синонимы типа vhost

    Использование синонимов типа 'vhost' доступно для тарифов "Стандартный", "Активный", "Максимальный" и "МаксимальныйПлюс".

    На тарифах "Стандартный" и "Активный" синоним типа 'vhost' очень похож на синоним типа 'path'. Отличие по сути только одно: значение переменной окружения HTTP_HOST при обращении к синониму типа 'vhost' соответствует тому имени, к которому происходит обращение, что позволяет пользователям в своих скриптах определять, по какому имени посетители запрашивают страницы сайта. Если, например, http://www.newhost.ru является синонимом для http://www.host.ru/new/, то при обращении к http://www.newhost.ru в HTTP_HOST будет "www.newhost.ru", при обращении к http://www.host.ru/new/ - соответственно, "www.host.ru".

    Обратите внимание, что обращения к http://www.domain и http://domain не разделяются. Например, и при обращении к http://www.newhost.ru, и к http://newhost.ru в HTTP_HOST будет "www.newhost.ru".

    Вы можете самостоятельно выбирать тип синонима между 'path' и 'vhost'. Зайдите на Сервер Статистики под управляющим логином, выберите соответствующую услугу ("Synonym", "Alias", "SubDomain"), а затем - ссылку "Управление услугой". Мы рекомендуем использовать синонимы типа 'vhost'.

    На тарифах "Максимальный" и "МаксимальныйПлюс" с помощью синонимов типа 'vhost' можно создавать полноценные www-серверы. Об этой возможности можно прочитать ниже. Однако мы советуем использовать для этих целей услугу "Дополнительный web-сервер", который работает независимо от основного.

    Особенность trailing slash redirect

    Здесь может быть особый случай, когда пользователь набирает в браузере http://newhost.ru/dir и попадает на http://host.ru/new/dir/, тем самым "обнаруживая" родительский сервер. Это особенность работы сервера Apache, называемая trailing slash redirect - если в конце адреса не был указан символ '/' (slash), то apache сделает "переадресацию" (external redirect) на основное имя сервера.

    Если по какой-либо причине это нежелательно, то при помощи использования модуля mod_rewrite можно изменить его на нужный редирект. Для этого в каталоге основного сервера, куда указывает www-alias newhost.ru, создается файл .htaccess следующего содержанием:

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteCond %{REQUEST_URI} !^/new$
    RewriteRule ^(.+[^/])$ http://newhost.ru/$1/ [R]
    RewriteBase /new/
    

    Использование синонима типа 'vhost' на тарифах "Максимальный" и "МаксимальныйПлюс"

    На тарифах "Максимальный" и "МаксимальныйПлюс", используя синонимы типа 'vhost', можно создавать полноценные www-серверы. Это потребует внесения некоторых изменений в файл конфигурации веб-сервера Apache httpd.conf (или httpd2.conf, если Вы используете Apache 2.2), что подразумевает наличие базовых знаний по управлению сервером Apache и некоторых навыков работы в unix-shell. Если Вы являетесь владельцем сервера, работающего по тарифу "Максимальный" или "МаксимальныйПлюс", Вы можете самостоятельно выбирать тип синонима между 'path' и 'vhost'. Зайдите на Сервер Статистики под Управляющим логином, выберите соответствующую услугу ("Synonym", "Alias", "SubDomain"), а затем - ссылку "Управление услугой".

    Предположим, что есть основной сервер www.host.ru, расположенный в каталоге /bhome/part2/01/host/www/ . Нам нужно создать алиас newhost.ru , который должен указывать на каталог /bhome/part2/01/host/new/, тип синонима - 'vhost'. При этом для сервера и для его алиаса создадим свои каталоги для исполнения www-скриптов: соответственно, host.ru -- /bhome/part2/01/host/vcgi/ , а newhost.ru -- /bhome/part2/01/host/newvcgi/ .

    Дописываем/исправляем в файле httpd.conf (или httpd2.conf, если Вы используете Apache 2.2) следующее:

    # эта строка обязательно должна присутствовать
    NameVirtualHost *
    
    # сначала определим родительский сервер как virthost
    <VirtualHost *>
      ServerName www.host.ru
      ServerAlias host.ru
      DocumentRoot /bhome/part2/01/host/www/
    
        <Directory /bhome/part2/01/host/www>
          Options Indexes FollowSymLinks +Includes
          AllowOverride All
          Order allow,deny
          Allow from all
        </Directory>
    
      DirectoryIndex index.htm index.html index.php index.shtml
      AccessFileName .htaccess
    
    # определяем каталог для исполняемых скриптов
      ScriptAlias /cgi-bin/ /bhome/part2/01/host/vcgi/
    
        <Directory /bhome/part2/01/host/vcgi>
          AllowOverride None
          Options ExecCGI FollowSymLinks
          Order allow,deny
          Allow from all
        </Directory>
    
    </VirtualHost>
    
    # определяем синоним(ы)
    <VirtualHost *>
      ServerName www.newhost.ru
      ServerAlias newhost.ru
      DocumentRoot /bhome/part2/01/host/new/
    
        <Directory /bhome/part2/01/host/new>
          Options Indexes FollowSymLinks +Includes
          AllowOverride All
          Order allow,deny
          Allow from all
        </Directory>
    
      DirectoryIndex index.htm index.html index.php index.shtml
      AccessFileName .htaccess
    
    # определяем каталог для исполняемых скриптов
      ScriptAlias /cgi-bin/ /bhome/part2/01/host/newvcgi/
    
        <Directory /bhome/part2/01/host/newvcgi>
          AllowOverride None
          Options ExecCGI FollowSymLinks
          Order allow,deny
          Allow from all
        </Directory>
    
    </VirtualHost>
    

    Обратите внимание: должны быть описаны как родительский сервер, так и синоним.

    Кроме того, синонимы типа 'vhost' обладают еще одной особенностью: значение "DocumentRoot", заданное в конфигурационном файле веб-сервера, и параметр "Путь", указанный на сервере статистики в разделе "Управление услугой", "складываются". То есть при использовании описанной выше конфигурации, если указать "Путь" - "test", то обращения к www.newhost.ru будут попадать в /bhome/part2/01/host/new/test. Именно поэтому для синонимов типа 'vhost' значение "Путь" следует оставлять пустым.

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