Rewriting
wishmaster
artemrts at ukr.net
Fri May 24 06:01:58 UTC 2013
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 at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
More information about the nginx
mailing list