Првет
Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом, а уже 
nginx'ом переписывать код ответа на 404
--
k k вторник, 11 октября 2016г., 21:43 +05:00 от Sargas  sarga...@gmail.com :

>Возможно у кого-то есть какие-то мысли как это реализовать?
>Буду благодарен.
>
>6 октября 2016 г., 17:45 пользователь Sargas  < sarga...@gmail.com > написал:
>>Здравствуйте.
>>
>>Подскажите, пожалуйста, как решить следующую задачу.
>>Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а для 
>>остальных локейшенов чтобы отдавался файл 404.html
>>
>>server {
>>    listen  127.0.0.1:80 ;
>>    server_name  example.com ;
>>
>>    error_log /vhosts/ example.com/logs/nginx.error.log ;
>>    access_log /vhosts/ example.com/logs/nginx.main.log main;
>>
>>    location ~ /\. { deny all; }
>>    index app.php;
>>    root /vhosts/ example.com/www ;
>>    error_page 404 /404.html;
>>
>>
>>    location / {
>>        try_files $uri /app.php$is_args$args;
>>    }
>>
>>
>>    location ~ ^/app\.php {
>>        include fastcgi_params;
>>        fastcgi_param DOCUMENT_ROOT $realpath_root;
>>        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
>>        fastcgi_pass phpfpm;
>>        fastcgi_index app.php;
>>        fastcgi_connect_timeout 1;
>>        fastcgi_intercept_errors on;
>>        internal;
>>    }
>>
>>
>>    location ~ \.php$ {
>>        return 404;
>>    }
>>
>>
>>    location /admin {
>>        include conf.d/adminips.conf;
>>        try_files $uri /app.php$is_args$args;
>>    }
>>
>>
>>    location ~* 
>>^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2|woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$
>> {
>>        expires max;
>>    }
>>
>>}
>>
>>
>>Пробовал делать именованный локейшен и отправлять в него 404, но все равно 
>>отдается 404.html
>>    location /admin {
>>        include conf.d/adminips.conf;
>>        try_files $uri /app.php$is_args$args;
>>        error_page 404 = @err404;
>>    }
>>
>>    location @err404 {
>>        include fastcgi_params;
>>        fastcgi_param DOCUMENT_ROOT $realpath_root;
>>        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
>>        fastcgi_pass phpfpm;
>>        fastcgi_index app.php;
>>        fastcgi_connect_timeout 1;
>>        fastcgi_intercept_errors on;
>>    }
>>
>
>_______________________________________________
>nginx-ru mailing list
>nginx-ru@nginx.org
>http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить