if (!-f $request_filename)

Dmitriy Yermakov dyer at sut.ru
Wed Jun 21 14:03:07 MSD 2006


On Wed, Jun 21, 2006 at 12:17:56PM +0300, Aleksej Novikov wrote:
> Hello nginx-ru,
> 
>   Может я туплю, однако никак не выходит.
> 
>   Задача проверить существование файла, и если его нет, то сделать
>   запрос на backend.
> 
>   Вот такой вот конфиг у меня.

        location ~* ^.+\.(swf|gif|jpe?g|png|ico|js|css|ttf|txt)$ {
                if (!-f $request_filename) {
                        break;
                        proxy_pass http://192.168.xxx.xxx;
                }
                root /var/www/sites/site/htdocs;
        }

> 
> 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
> 
> 

-- 
Dmitriy Yermakov, CCS SUT
dyer at sut.ru





More information about the nginx-ru mailing list