1

I'm trying to setup Nginx config to auto redirect any domain/subdomain pointed(CNAME) to my static subdomain(site.domain.com) to a respective directory inside /var/www. The directory will be named after the pointed domain/subdomain. I don't want to use VirtualHost or alter/restart Nginx everytime someone add new domain.

I stumble upon this answer but I still don't quite understand. What should I set as root directory?

current config :

server {
    server_name site.domain.com;
    listen 80 default_server;
    root /var/www/;
    index index.html index.htm;
}
Matt Norad
  • 65
  • 4
  • possible duplicate of [Dynamic nginx domain root path based on hostname?](http://serverfault.com/questions/457196/dynamic-nginx-domain-root-path-based-on-hostname) – Michael Hampton Dec 24 '12 at 02:37

1 Answers1

1
rewrite  ^(.*)$  /$host/$1;

Add the above mentioned rewrite rule. This works as following.

xyz.foo.com/index.html will map to /var/www/xyz.foo.com/index.html

The caveat is if the domain/subdomain directory doesn't exist nginx will throw an error.

Sameer
  • 4,070
  • 2
  • 16
  • 11