Welcome! Log In Create A New Profile

Advanced

Re: Re[2]: Rewriting

B.R.
May 24, 2013 01:00PM
Pure wild guess:

Maybe a missing trailing slash in the request resulting in a temporary
redirection (and then processed again)?
Have you checked the requests made on the client side for any sign of
unwanted redirection? You could then use them to correct your rewrite
directive.

Hope I helped,
---
*B. R.*


On Fri, May 24, 2013 at 2:01 AM, wishmaster <artemrts@ukr.net> wrote:

>
> Off course, you right. Thanks.
>
> if ($remote_addr !~ '190\.212\.201\.[0-9]{0,3}') {
> rewrite ^/(.*)$ /unav/$1 break;
> }
>
> location / {
> ....
> }
> ........
>
> But in log
>
> 2013/05/24 08:49:45 [error] 76017#0: *1910 open()
> "/usr/local/www/akbmaster/unav/unav/index.html" failed (2: No such file or
> directory), client: 190.212.201.198, server: akbmaster.server.com,
> request: "GET / HTTP/1.1", host: "akbmaster.server.com"
>
> I see twice rewriting.
> I have rewritten rule like this and this solved twice rewriting problem..
> rewrite ^/([^/]*)$ /unav/$1 break;
>
> Can you explain me why in my situation nginx have rewritten request twice?
>
> Cheers,
>
>
> > Hello,
> >
> > http://nginx.org/en/docs/http/request_processing.html
> >
> > Because in this case you need to place your rule in server block if you
> > would like to be valid for all custom defined locations in your config
> > For example:
> >
> > server
> > {
> > listen 80;
> >
> > if ($remote_addr ~ '192.168.1.25')
> > {
> > return 403;
> > }
> >
> > location /
> > {
> > ...
> > }
> >
> > location ~ \.php$
> > {
> > ...
> > }
> >
> > }
> >
> > On 23.05.2013 23:11 ч., wishmaster wrote:
> > > Hi,
> > > I use opencart with nginx+php-fpm. Sometimes it is necessary to
> redirect all clients, except admin (190.212.201.0/24), to "Service
> unavailable" page which is simple index.html file with logo, background
> image and some text, located in /unav directory.
> > > Below some of nginx.conf
> > >
> > >
> > > location / {
> > >
> > > if ($remote_addr !~ '190\.212\.201\.[0-9]{0,3}') {
> > > rewrite ^/(.*)$ /unav/$1 break;
> > > return 403;
> > > }
> > > try_files $uri $uri/ @opencart;
> > > }
> > >
> > > location ^~ /unav {
> > > }
> > >
> > > location @opencart {
> > > rewrite ^/(.+)$ /index.php?_route_=$1 last;
> > > }
> > >
> > > [...skipped...]
> > >
> > > location ~ \.php$ {
> > >
> > > try_files $uri =404;
> > > fastcgi_read_timeout 60s;
> > > fastcgi_send_timeout 60s;
> > > include myphp-fpm.conf;
> > >
> > > }
> > >
> > > Problem is in rewriting.
> > > This rule
> > >
> > > rewrite ^/(.*)$ /unav/$1 break;
> > >
> > > rewrite ONLY http://mysite.com/ request but in case
> http://mysite.com/index.php rewrite is none and request processed by
> location ~ \.php$ rule. Why??
> > >
> > > Thanks!
> > >
> > >
> > > _______________________________________________
> > > nginx mailing list
> > > nginx@nginx.org
> > > http://mailman.nginx.org/mailman/listinfo/nginx
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Rewriting

artem May 23, 2013 04:14PM

Re: Rewriting

Bozhidara Marinchovska May 23, 2013 05:48PM

Re: Re[2]: Rewriting

B.R. May 24, 2013 01:00PM

Re: Rewriting

Francis Daly May 25, 2013 06:08AM

Re: Rewriting

Francis Daly May 26, 2013 05:24AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 103
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready