34

I've got an nginx config stanza that looks like:

server {
    listen *:80;
    server_name domain1.com domain2.com domain3.com domain4.com .... domainN.com;
    rewrite ^(.*) http://my_canonical_domain.com permanent;
}

with lots of different domains. Is there some way to break this up over multiple lines? I don't see anything in the nginx config docs which address this.

Roy Smith
  • 493
  • 1
  • 5
  • 6
  • I think it's unfortunately not possible. See here: http://serverfault.com/questions/571579/splitting-long-lines-in-a-nginx-configuration-file – binaryanomaly May 05 '14 at 18:47

2 Answers2

52

There is no need to. This works perfectly:

server_name domain1
    domain2
    domain3
    ...
    domainN;

Also you could use multiple server_name directives.

Alexey Ten
  • 8,435
  • 1
  • 34
  • 36
4

I'm not allowed to post a comment; otherwise I would have just added a comment to @Alexey Ten's answer in response to @roothan's comment. Regular expressions also work using this method (at least with nginx/1.16.1):

server_name thisdomain.com
    ~^(www\.)thatdomain.com
    ~^(www\.)theotherdomain.com;

I had some trouble being careless with copy/paste; just make sure you don't have any semicolons except after the very last name in the directive.

EK0
  • 235
  • 2
  • 8