<div dir="ltr"><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Pure wild guess:<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Maybe a missing trailing slash in the request resulting in a temporary redirection (and then processed again)?<br>

</div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">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.<br>

<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Hope I helped,<br></div><div class="gmail_extra"><div><font size="1"><span style="color:rgb(102,102,102)">---<br></span><b><span style="color:rgb(102,102,102)">B. R.</span></b><span style="color:rgb(102,102,102)"></span></font></div>


<br><br><div class="gmail_quote">On Fri, May 24, 2013 at 2:01 AM, wishmaster <span dir="ltr"><<a href="mailto:artemrts@ukr.net" target="_blank">artemrts@ukr.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Off course, you right. Thanks.<br>
<br>
if ($remote_addr !~ '190\.212\.201\.[0-9]{0,3}') {<br>
 rewrite ^/(.*)$ /unav/$1 break;<br>
 }<br>
<br>
location / {<br>
 ....<br>
 }<br>
 ........<br>
<br>
 But in log<br>
<br>
 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: <a href="http://akbmaster.server.com" target="_blank">akbmaster.server.com</a>, request: "GET / HTTP/1.1", host: "<a href="http://akbmaster.server.com" target="_blank">akbmaster.server.com</a>"<br>


<br>
  I see twice rewriting.<br>
  I have rewritten rule like this and this solved twice rewriting problem.<br>
 rewrite ^/([^/]*)$ /unav/$1 break;<br>
<br>
 Can you explain me why in my situation nginx have rewritten request twice?<br>
<br>
Cheers,<br>
<br>
<br>
> Hello,<br>
><br>
> <a href="http://nginx.org/en/docs/http/request_processing.html" target="_blank">http://nginx.org/en/docs/http/request_processing.html</a><br>
><br>
> Because in this case you need to place your rule in server block if you<br>
> would like to be valid for all custom defined locations in your config<br>
> For example:<br>
><br>
> server<br>
> {<br>
> listen 80;<br>
><br>
> if ($remote_addr ~ '192.168.1.25')<br>
> {<br>
> return 403;<br>
> }<br>
><br>
> location /<br>
> {<br>
> ...<br>
> }<br>
><br>
> location ~ \.php$<br>
> {<br>
> ...<br>
> }<br>
><br>
> }<br>
><br>
> On 23.05.2013 23:11 ч., wishmaster wrote:<br>
> > Hi,<br>
> > I use opencart with nginx+php-fpm. Sometimes it is necessary to redirect all clients, except admin (<a href="http://190.212.201.0/24" target="_blank">190.212.201.0/24</a>), to "Service unavailable" page which is simple index.html file with logo, background image and some text, located in /unav directory.<br>


> > Below  some of nginx.conf<br>
> ><br>
> ><br>
> > location / {<br>
> ><br>
> > if ($remote_addr !~ '190\.212\.201\.[0-9]{0,3}') {<br>
> > rewrite ^/(.*)$ /unav/$1 break;<br>
> > return 403;<br>
> > }<br>
> > try_files $uri $uri/ @opencart;<br>
> > }<br>
> ><br>
> > location ^~ /unav {<br>
> > }<br>
> ><br>
> > location @opencart {<br>
> > rewrite ^/(.+)$ /index.php?_route_=$1 last;<br>
> > }<br>
> ><br>
> > [...skipped...]<br>
> ><br>
> > location ~ \.php$ {<br>
> ><br>
> >           try_files      $uri =404;<br>
> >           fastcgi_read_timeout 60s;<br>
> >           fastcgi_send_timeout 60s;<br>
> >           include           myphp-fpm.conf;<br>
> ><br>
> >                      }<br>
> ><br>
> > Problem  is in rewriting.<br>
> > This rule<br>
> ><br>
> > rewrite ^/(.*)$ /unav/$1 break;<br>
> ><br>
> > rewrite ONLY <a href="http://mysite.com/" target="_blank">http://mysite.com/</a> request but in case <a href="http://mysite.com/index.php" target="_blank">http://mysite.com/index.php</a> rewrite is none and request processed by location ~ \.php$ rule. Why??<br>


> ><br>
> > Thanks!<br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > nginx mailing list<br>
> > <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a></blockquote></div><br></div></div>