27

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.

38

There is no need to. This works perfectly:

server_name domain1
    domain2
    domain3
    ...
    domainN;

Also you could use multiple server_name directives.

  • does not work for regex style though – roothahn May 11 '19 at 15:50
1

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.

-2

Try \ and the end of line.

server_name domain1.com \ domain2.com \ domainN.com;

  • 3
    That does not work and gives an error. @Alexey Ten's answer is correct. – Felipe Alvarez Aug 13 '15 at 3:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.