День добрый.
Есть сайт на домене (локальный) site.com. С индексной страницы на этом домене осуществляется авторизация юзера и затем его перекидывает на один из поддоменов (a1.site.com, a2.site.com, ...). Также есть поддомены для общих файлов (files.site.com) и для картинок (img.site.com).
В перспективе, каждый из поддоменов a1 или a2 могут "переехать" на отдельный сервер, а на основном сервере останутся только site.com (авторизация), поддомены для картинок и файлов (img.site.com & files.site.com), потому и в конфиге пытаюсь их один от другого логически отделить, как будто сейчас они на отдельных серверах расположены.
Но сейчас, пока все пишется, эти все файлы лежат на одном сервере.
Немного инфы о путях:
/home/www/site.com - корневая папка для домена site.com
/home/www/site.com/files - корневая для файлов (files.site.com)
/home/www/site.com/img - корневая для картинок (img.site.com)
В /etc/hosts следующее:
127.0.0.1 site.com
127.0.0.1 a1.work.com
127.0.0.1 a2.work.com
127.0.0.1 files.work.com
127.0.0.1 img.work.com
В конфиге nginx (sites-enabled):
server {
listen 80;
server_name site.com
a1.site.com
a2.site.com;
root /home/www/site.com;
index index.php;
location ~ \.php$ {
root /home/www/site.com;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /site.com;
fastcgi_param SCRIPT_FILENAME /site.com$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /site.com$fastcgi_script_name;
include fastcgi_params;
}
}
Половину конфига закомментировал.
Также, сейчас так устроено, что через скрипт (php) происходит проверка на поддомен и идет обращение к нужной папке (то есть при запросе a1.site.com?index.php?r=index/index само находит папку /home/www/site.com/cities/a1/... и выбирает нужное). Потому поддомены a1, a2 и главный site.com в конфиге разделять не нужно.
Не могу сделать, чтобы при запросе files.site.com/main.css обращалось к /home/www/site.com/files. Что не пробовал - пишет или forbidden или 404-я.
И также подшаманить с этой точкой входа index.php?r=, то есть чтобы проверяло, если обращение к php файлу или директории - то направлять на index.php?r=$uri&$args, а то у меня калека вышла :-) К остальным файлам - запретить прямой вызов.
Трудность больше заключается в том, что корневая папка поддомена (/home/www/site.com/files) находится в корневой папке главного домена (site.com), а этот перехватывает все запросы.