Я хочу провести несколько доменных имен, каждый из поддоменов динамически на моем Nginx сервере (убунту 14.04):как динамически искоренять с помощью домена и поддомена в Nginx конфигурации
home/serve/
domain1.com
www
subdomain1
subdomain2
domain2.com
www
subdomain1
subdomain2
Я хочу как www.domain1. com и domain1.com для root в/home/serve/domain1/www и subdomain1.domain1.com для root в/home/serve/domain1/subdomain1.
У меня это работает для домена как с www, так и без него. (см. ниже), но я не могу разобраться, как я могу расширить это, чтобы также укрепить root.
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name ~^(www\.)?(?<domain>.+)$;
root /home/serve/$domain/www/;
location/{
index index.html index.htm index.php;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Дело в том, что если вы настроили такую конфигурацию, нелегко отличить, какая часть является доменю, а какая является субдоменом, то есть, если я перехожу на 'example.com', это субдомен« пример » домен 'com'? Подождите, если вы справитесь с этим, он должен работать. Вам просто нужно создать каталог 'com' с символической ссылкой' example', которая ссылается на 'example.com/www'. – Carsten
@ Карстен. Да, это вопрос, с которым я сталкиваюсь с этим подходом, но пока это самое близкое, что я получил к тому, что хочу. Если это не очень хороший способ, вы можете предложить альтернативу. – Finglish
Возможно ли мой подход с символическими ссылками для вас? В противном случае, есть ли у вас какая-то информация о доменах, чтобы как-то убить эту неоднозначность? Может быть, требуется, чтобы домен представлял две неточечные строки с точкой между ними? – Carsten