<div dir="ltr"><div>Возможно у кого-то есть какие-то мысли как это реализовать?<br></div>Буду благодарен.<br></div><div class="gmail_extra"><br><div class="gmail_quote">6 октября 2016 г., 17:45 пользователь Sargas <span dir="ltr"><<a href="mailto:sargaskn@gmail.com" target="_blank">sargaskn@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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" target="_blank">127.0.0.1:80</a>;<br>    server_name <a href="http://example.com" target="_blank">example.com</a>;<br><br>    error_log /vhosts/<a href="http://example.com/logs/nginx.error.log" target="_blank">example.com/logs/<wbr>nginx.error.log</a>;<br>    access_log /vhosts/<a href="http://example.com/logs/nginx.main.log" target="_blank">example.com/logs/<wbr>nginx.main.log</a> main;<br><br>    location ~ /\. { deny all; }<br>    index app.php;<br>    root /vhosts/<a href="http://example.com/www" target="_blank">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_<wbr>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|<wbr>css|zip|tgz|gz|bin|rar|bz2|<wbr>woff|doc|xls|exe|pdf|ppt|tar|<wbr>wav|bmp|rtf|swf|js|html|htm|<wbr>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_<wbr>name;<br>        fastcgi_pass phpfpm;<br>        fastcgi_index app.php;<br>        fastcgi_connect_timeout 1;<br>        fastcgi_intercept_errors on;<br>    }<br><br></div>
</blockquote></div><br></div>