Nginx rewrite host

Maxim Dounin mdounin at mdounin.ru
Wed Jun 10 13:06:33 MSD 2009


Hello!

On Wed, Jun 10, 2009 at 02:59:15PM +0700, Glen Lumanau wrote:

> It's working if we are redirecting the traffic to onother domain.
> 
> But what i need is something like
> 
>         if ($host != www.mydomain.com){
>             rewrite  ^(.*)$ http://www.mydomain.com$1 break;
>         }
> 
> Is there any way to do this?

It's just question of writing correct server{} declarations.

    server {
        listen 80 default;
        server_name_in_redirect off;

        rewrite ^ http://www.mydomain.com$request_uri?;
    }

    server {
        server_name www.mydomain.com;
        ...
    }

Maxim Dounin

> 
> -----Original Message-----
> From: owner-nginx at sysoev.ru [mailto:owner-nginx at sysoev.ru] On Behalf Of Igor
> Sysoev
> Sent: 11 Februari 2009 16:37
> To: nginx at sysoev.ru
> Subject: Re: Nginx rewrite host
> 
> On Wed, Feb 11, 2009 at 10:31:38AM +0100, Tomasz Pajor wrote:
> 
> > if ($host !~* "(blah.com|blah2.com)") {
> >    rewrite  ^(.*)$ http://blah.com$1 break;
> > }
> > 
> > Reference:
> > http://wiki.codemongers.com/NginxHttpRewriteModule#if
> 
> Never! Never use "if" just to test $host.
> There is special very optimized directives server/server_name:
> 
>      server {
>           server_name  blah1.com  blah2.com;
>           rewrite  ^   http://blah.com$request_uri;
>      }
> 
> > --
> > Tom Pajor
> > 
> > >Hello!
> > >
> > > 
> > >
> > >How can I add 2 or more host?
> > >
> > > 
> > >
> > >*From:* owner-nginx at sysoev.ru [mailto:owner-nginx at sysoev.ru] *On 
> > >Behalf Of *Kingsley Foreman
> > >*Sent:* 11 Februari 2009 15:26
> > >*To:* nginx at sysoev.ru
> > >*Subject:* Re: Nginx rewrite host
> > >
> > > 
> > >
> > >                if ($host != blah.com){
> > >                        rewrite  ^(.*)$ http://blah.com$1 break;
> > >                }
> > >
> > > 
> > >
> > > 
> > >
> > >*From:* Glen Lumanau <mailto:glen at lumanau.web.id>
> > >
> > >*Sent:* Wednesday, February 11, 2009 3:14 PM
> > >
> > >*To:* nginx at sysoev.ru <mailto:nginx at sysoev.ru>
> > >
> > >*Subject:* Nginx rewrite host
> > >
> > > 
> > >
> > >Hello!
> > >
> > > 
> > >
> > >How can I create this rule
> > >
> > >If host = 127.0.0.1, 127.0.0.2
> > >
> > >Do nothing
> > >
> > > 
> > >
> > >If host != 127.0.0.1, 127.0.0.2
> > >
> > >Rewrite bla bla bla
> > >
> > > 
> > >
> > >Thank you for any help
> > >
> > > 
> > >
> > 
> 
> -- 
> Igor Sysoev
> http://sysoev.ru/en/
> 
> 





More information about the nginx mailing list