if (!-f $request_filename)
Igor Sysoev
is at rambler-co.ru
Wed Jun 21 13:48:33 MSD 2006
On Wed, 21 Jun 2006, Aleksej Novikov wrote:
> Спасибо, Игорь, но всё без именений.
>> nginx version: nginx/0.3.49
> По прежнему 404 ошибка и никаких обращений к backend.
Тогда нужен отладчоный лог.
>> On Wed, 21 Jun 2006, Aleksej Novikov wrote:
>
>>> Может я туплю, однако никак не выходит.
>>>
>>> Задача проверить существование файла, и если его нет, то сделать
>>> запрос на 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"
>>>
>>> Подскажите плиз, что не так ?
>
>> У меня подобный конфиг выдаёт 500. Нужно примерно так:
>
>> location / {
>> root /data/www/htdocs/cache;
>> if (!-f $request_filename) {
>> rewrite (.*)
>> /index.php?rfname=$request_filename last;
>> }
>> }
>
>> location = /index.php {
>> proxy_pass http://127.0.0.1:8888/;
>> ...
>> }
>
>
>> Игорь Сысоев
>> http://sysoev.ru
>
>
>
>
> --
> Best regards,
> Aleksej
> ICQ: 113882950
> GSM:371.936.86.24
>
>
>
>
>
>
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list