<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>