try_files вместо каскада рерайтов

kvt на kvtsoftware.com kvt на kvtsoftware.com
Ср Дек 7 20:25:16 UTC 2016


Здравствуйте уважаемые господа.

Помогите выразить следующую конструкцию:

    if (!-f $request_filename){                                                                                                             
        set $rule_0 1$rule_0;                                                                                                               
    }                                                                                                                                       
    if (!-d $request_filename){                                                                                                             
        set $rule_0 2$rule_0;                                                                                                               
    }                                                                                                                                       
    if ($rule_0 = "21"){                                                                                                                    
        rewrite ^/(.*)$ /index.php/$1 last;                                                                                                 
    }                                                                                                                                       

с помощью try_files

Всю голову уже сломал, пробовал делать вот так:

    try_files $uri $uri/ /index.php$request_uri /index.php;                                                                               

все нормально, но на адреса вида /something-page/?param=value выдает 404-ю ошибку.
простите если фигню спросил, не знаю куда обращаться. документацию читал вдоль и поперек.


Подробная информация о списке рассылки nginx-ru