if (!-f $request_filename)
Aleksej Novikov
aleksej at novikov.lv
Wed Jun 21 13:46:06 MSD 2006
Hello Igor,
Wednesday, June 21, 2006, 12:35:17 PM, you 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
More information about the nginx-ru
mailing list