if (!-f $request_filename)

Aleksej Novikov aleksej at novikov.lv
Wed Jun 21 13:17:56 MSD 2006


Hello nginx-ru,

  Может я туплю, однако никак не выходит.

  Задача проверить существование файла, и если его нет, то сделать
  запрос на backend.

  Вот такой вот конфиг у меня.

server {
        listen       80;
        server_name  cache;
        access_log  /var/log/nginx/cache.access.log;
 location / {
        root  /data/www/htdocs/cache;
        autoindex on;
                if (!-f $request_filename) {
                rewrite (.*)        /index.php?rfname=$request_filename  last;
                }
        proxy_pass         http://127.0.0.1:8888/;
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
 }

 Обращаюст к файлу test.htm (понятное дело он не существует)
 на экране вижу - 404 by nginx.
 А в логе только одна строка.

 10.10.10.2 - - [21/Jun/2006:12:12:47 +0300] "GET /test.htm HTTP/1.1" 404 169 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4"

 Подскажите плиз, что не так ?

 Спасибо.

-- 
Best regards,
Aleksej             
ICQ: 113882950
GSM:371.936.86.24







More information about the nginx-ru mailing list