the resource requested not found error demre nginx error-handling http-status-code-404

resource - Páginas de error de Nginx: ¿una regla de ubicación para ajustarlas a todas?



error response status 404 demre (1)

Tener la siguiente configuración nginx vhost:

server { listen 80; listen 443 ssl; server_name default; root /var/www/default/html; error_log /var/www/default/log/error.log; access_log /var/www/default/log/access.log; ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; autoindex on; index index.html index.php; location / { try_files $uri $uri/ @php; } location @php { rewrite ^/(.*)/?$ /index.php/$1 last; } location ~* /(?:[.]|.*[.](?:bak|fla|inc|ini|log|psd|sh|sql|swp)|(?:file|upload)s?/.*[.](?:php)) { deny all; } location ~* [.](?:php) { fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_connect_timeout 30; fastcgi_ignore_client_abort off; fastcgi_index index.php; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_split_path_info ^(.+[.]php)(/.*)$; fastcgi_temp_file_write_size 256k; include /etc/nginx/fastcgi_params; } error_page 403 /403.html; location = /403.html { root /var/www/default/error; } error_page 404 /404.html; location = /404.html { root /var/www/default/error; } error_page 405 /405.html; location = /405.html { root /var/www/default/error; } error_page 500 501 502 503 504 /5xx.html; location = /5xx.html { root /var/www/default/error; } }

¿Es posible tener los errores 40x y 50x servidos por una sola regla de ubicación? Algo como:

error_page 403 /403.html; error_page 404 /404.html; error_page 405 /405.html; error_page 500 501 502 503 504 /5xx.html; location ~ /(?:40[345]|5xx)[.]html$ { root /var/www/default/error; }

Si el I anterior, siempre obtengo los errores nginx por defecto 404. Las coincidencias de cadena (sin operador) y las coincidencias exactas ( = operador) funcionan, pero con el operador de expresiones regulares sensible a mayúsculas y minúsculas ~[*] ( ~[*] ) no es así.

Supongo que el problema es el orden en que se procesan los bloques de ubicación.

¿Hay alguna forma de superar eso para reducir la redundancia de root innecesaria?