<div dir="ltr">Здравствуйте.<br><br>Подскажите, пожалуйста, как решить следующую задачу.<br>Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а для остальных локейшенов чтобы отдавался файл 404.html<br><br>server {<br>    listen <a href="http://127.0.0.1:80">127.0.0.1:80</a>;<br>    server_name <a href="http://example.com">example.com</a>;<br><br>    error_log /vhosts/<a href="http://example.com/logs/nginx.error.log">example.com/logs/nginx.error.log</a>;<br>    access_log /vhosts/<a href="http://example.com/logs/nginx.main.log">example.com/logs/nginx.main.log</a> main;<br><br>    location ~ /\. { deny all; }<br>    index app.php;<br>    root /vhosts/<a href="http://example.com/www">example.com/www</a>;<br>    error_page 404 /404.html;<br><br><br>    location / {<br>        try_files $uri /app.php$is_args$args;<br>    }<br><br><br>    location ~ ^/app\.php {<br>        include fastcgi_params;<br>        fastcgi_param DOCUMENT_ROOT $realpath_root;<br>        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;<br>        fastcgi_pass phpfpm;<br>        fastcgi_index app.php;<br>        fastcgi_connect_timeout 1;<br>        fastcgi_intercept_errors on;<br>        internal;<br>    }<br><br><br>    location ~ \.php$ {<br>        return 404;<br>    }<br><br><br>    location /admin {<br>        include conf.d/adminips.conf;<br>        try_files $uri /app.php$is_args$args;<br>    }<br><br><br>    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)$ {<br>        expires max;<br>    }<br><br>}<br><br><br>Пробовал делать именованный локейшен и отправлять в него 404, но все равно отдается 404.html<br>    location /admin {<br>        include conf.d/adminips.conf;<br>        try_files $uri /app.php$is_args$args;<br>        error_page 404 = @err404;<br>    }<br><br>    location @err404 {<br>        include fastcgi_params;<br>        fastcgi_param DOCUMENT_ROOT $realpath_root;<br>        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;<br>        fastcgi_pass phpfpm;<br>        fastcgi_index app.php;<br>        fastcgi_connect_timeout 1;<br>        fastcgi_intercept_errors on;<br>    }<br><br></div>