Есть множество сайтов на одном домене. На данный момент все ручками прописано - каждый сайт в своем конфиге. Можно ли сделать так, чтобы поддомен автоматически подставлялся на основе существующих папок в /var/www/html/sitename. Если возможно, то есть ли какие нибудь примеры или инструкции, тк не могу найти нигде
Asked
Active
Viewed 167 times
2
Paul Wall
- 1,733
1 Answers
2
Для случая sub1.site.ru => /var/www/html/sub1.site.ru
server {
listen 80;
server_name *.site.ru;
root /var/www/html/$host;
}
Для случая sub1.site.ru => /var/www/html/sub1
server {
listen 80;
server_name *.site.ru;
root /var/www/html/$subdomain;
set $subdomain "";
if ($host ~* ^([a-z0-9-]+)\.site\.ru$) {
set $subdomain $1;
}
}
Для произвольной связки sub1.site.ru => /var/www/html/sub1-dir с использованием map:
map $host $sub_root_dir {
sub1.site.ru sub1-dir;
sub2.site.ru sub2-dir;
}
server {
listen 80;
server_name *.site.ru;
root /var/www/html/$sub_root_dir;
}
Total Pusher
- 6,307