wildcard to rewritre multi domains to www

Igor Sysoev is at rambler-co.ru
Sun Sep 6 15:48:41 MSD 2009


On Sun, Sep 06, 2009 at 08:29:09AM +0400, Igor Sysoev wrote:

> On Sat, Sep 05, 2009 at 11:28:14AM -0500, AMP Admin wrote:
> 
> > Thanks.  I'll do that.  I was just hoping that I wouldn't have to list all
> > domains. That works though. :)
> 
> You should use positive logic: configure all sites and redirect
> remainder using regex:
> 
> server {
>      server_name www.domain1.com;
>      ...
> }
> 
> server {
>      server_name www.domain2.com;
>      ...
> }
> 
> server {
>      server_name www.domain3.com;
>      ...
> }
> 
> server {
>      server_name www.*;
>      ...
> }
> 
> server {
>      server_name  ~^([^.]\.com)$;

-      server_name  ~^([^.]\.com)$;
+      server_name  ~^([^.]+\.com)$;

>      set          $name  $1;
>      rewrite      ^      http://www.$name$request_uri?  permanent;
> }
> 
> nginx tests server names for the first match in following order:
> 1) exact names,
> 2) *.name wildcards,
> 3) name.* wildcards, 
> 4) regex names in order of their appearance.
> 
> > Regards, 
> > 
> > -Team AMP 
> > http://www.ampprod.com 
> > 
> > -----Original Message-----
> > From: owner-nginx at sysoev.ru [mailto:owner-nginx at sysoev.ru] On Behalf Of Igor
> > Sysoev
> > Sent: Saturday, September 05, 2009 9:21 AM
> > To: nginx at sysoev.ru
> > Subject: Re: wildcard to rewritre multi domains to www
> > 
> > On Sat, Sep 05, 2009 at 08:57:57AM -0500, AMP Admin wrote:
> > 
> > > Hi, I would like to rewrite several domains to from .example.com to
> > > www.example.com.  I think the best way is to use a wild card.  Too bad I
> > > suck at rewrite rules. Haha
> > > 
> > > Can someone help me make the following work?
> > > 
> > >         if ($host != 'www.*.com') {
> > >                 rewrite  ^/(.*)$  http://www.*.com/$1  permanent;
> > >         }
> > 
> > server {
> >      server_name  ~^((?:domain1|domain2|domain3)\.com)$;
> >      set          $name  $1;
> >      rewrite      ^      http://www.$name$request_uri?  permanent;
> > }
> > 
> > 
> > -- 
> > Igor Sysoev
> > http://sysoev.ru/en/
> > 
> 
> -- 
> Igor Sysoev
> http://sysoev.ru/en/

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list