Сайт хостится на VPS masterhost. Многосайтовость настраивал конфигурированием только httpd.conf Nginx не конфигурировал, т.к. по заверениям техподдержки masterhost - "У Вас сервер с тарифом "Доступный:1С-Битрикс", с системой CentOS и установленной виртуальной машиной Битрикс. Nginx в Вашем случае не используется."
Проблема в том, что файл robots.txt для всех сайтов видится в папке /home/bitrix/www/, а не в папке определенного сайта. Т.е. набрав www.site1.ru/robots.txt или www.site2.ru/robots.txt в любом случае открывается www/robots.txt.
Что ни так?
Рекомендации техподдержки masterhost и битрикс`а совершенно разные: masterhost - "Нет, это стандартное поведение. Поисковые системы запрашивают файл robots.txt только из корня домена, а при многосайтовости контент сайтов лежит не в корне. В данном случае поможет только подстановка файлов через mod_rewrite или генерация скриптом."
битрикс - "Данная ситуация говорит о том, что $_SERVER['DOCUMENT_ROOT'] текущего сайта равен $_SERVER['DOCUMENT_ROOT'] другого сайта (сайта по умолчанию - в терминологии многосайтовости нашего Продукта) в конфигурации хостов сервера. Это нормально, если у Вас многосайтовость реализована на папках. Т.е. когда у всех сайтов один $_SERVER['DOCUMENT_ROOT'], но Продукт подключает определённый сайт в зависимости от обращения к определённой папке, относительно $_SERVER['DOCUMENT_ROOT'].
Многосайтовость на доменах(в терминологии многосайтовости нашего Продукта) предполагает наличие уникального $_SERVER['DOCUMENT_ROOT'] для каждого сайта. Поэтому указанной Вами проблемы быть не может."
httpd.conf
Код
Listen 8888
<VirtualHost *:8888>
ServerName site1.ru
ServerAlias *.site1.ru
ServerAdmin admin@site1.ru
DocumentRoot /home/bitrix/www/s1/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/bitrix/www/s1/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
DirectoryIndex index.php index.html index.htm
Order allow,deny
allow from all
</Directory>
# ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# <Directory "/usr/lib/cgi-bin">
# AllowOverride None
# Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Order allow,deny
# Allow from all
# </Directory>
ErrorLog logs/site1.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog logs/site1.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
<IfModule mod_rewrite.c>
#Nginx should have "proxy_set_header HTTPS YES;" in location
RewriteEngine On
RewriteCond %{HTTP:HTTPS} =YES
RewriteRule .* - [E=HTTPS:on,L]
</IfModule>
</VirtualHost>
<VirtualHost *:8888>
ServerName site2.ru
ServerAlias *.site2.ru
ServerAdmin admin@site2.ru
DocumentRoot /home/bitrix/www/s2/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/bitrix/www/s2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
DirectoryIndex index.php index.html index.htm
Order allow,deny
allow from all
</Directory>
# ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# <Directory "/usr/lib/cgi-bin">
# AllowOverride None
# Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Order allow,deny
# Allow from all
# </Directory>
ErrorLog logs/site2.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog logs/site2.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
<IfModule mod_rewrite.c>
#Nginx should have "proxy_set_header HTTPS YES;" in location
RewriteEngine On
RewriteCond %{HTTP:HTTPS} =YES
RewriteRule .* - [E=HTTPS:on,L]
</IfModule>
</VirtualHost>
соответственно сайты расположены в папках /home/bitrix/www/s1/ и /home/bitrix/www/s2/
многосайтовость настроена на доменах: · Название: site1 · Доменное имя: site1.com · Папка сайта: / · Название сайта: "Название компании" · URL сервера: www.site1.com · Путь к корневой папке веб-сервера для этого сайта: /home/bitrix/www/s1/
· Название: site2 · Доменное имя: site2.com · Папка сайта: / · Название сайта: "Название компании" · URL сервера: www.site2.com · Путь к корневой папке веб-сервера для этого сайта: /home/bitrix/www/s2/
Т.е. $_SERVER['DOCUMENT_ROOT'] для каждого сайта в httpd.conf настроен на свою папку.