Кастомная 404 для определенных локейшенов.
    Sargas 
    sargaskn на gmail.com
       
    Чт Окт  6 14:45:15 UTC 2016
    
    
  
Здравствуйте.
Подскажите, пожалуйста, как решить следующую задачу.
Нужно для админки /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;
    }
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20161006/cc9b9e82/attachment.html>
    
    
Подробная информация о списке рассылки nginx-ru