Здравствуйте. Подскажите, пожалуйста, как решить следующую задачу. Нужно для админки /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; }
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru