<HTML><BODY><p style="margin-top: 0px;" dir="ltr">Првет</p> 
<p dir="ltr">Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом, а уже nginx'ом переписывать код ответа на 404</p> 
<div id="mail-app-auto-default-signature">
 <p dir="ltr">--<br> k k</p>
</div>вторник, 11 октября 2016г., 21:43 +05:00 от Sargas <a href="mailto:sargaskn@gmail.com">sargaskn@gmail.com</a>:<br><br><blockquote id="mail-app-auto-quote" style="border-left:1px solid #0857A6; margin:0px 0px 0px 10px; padding:0px 0px 0px 10px;" cite="14762042370000000756">


















        












<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div >
                <base target="_self" href="https://e.mail.ru/" />
                
            <div id="style_14762042370000000756_BODY"><div dir="ltr"><div>Возможно у кого-то есть какие-то мысли как это реализовать?<br></div>Буду благодарен.<br></div><div ><br><div >6 октября 2016 г., 17:45 пользователь Sargas <span dir="ltr"><<a href="//e.mail.ru/compose/?mailto=mailto%3asargaskn@gmail.com" target="_blank">sargaskn@gmail.com</a>></span> написал:<br><blockquote 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/nginx.error.log</a>;<br>    access_log /vhosts/<a href="http://example.com/logs/nginx.main.log" target="_blank">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" 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_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>
</blockquote></div><br></div>
</div>
            
                
                    <div>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="/compose?To=nginx%2dru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank" >http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div>
                
             
        
                <base target="_self" href="https://e.mail.ru/" />
        </div>

        
</div>


</blockquote></BODY></HTML>