Capturar archivos estáticos inexistentes en app.yaml
En app.yaml tengo lo siguiente:
- url: /(.+\.(gif|png|jpg))$
static_files: \1
upload: .+\.(gif|png|jpg)$
- url: .*
script: auto
Me gustaría interceptar/ redireccionar archivos de imagen inexistentes (gif | png | jpg).
Actualmente, GAE devuelve un error de no encontrado cuando se solicita algún archivo inexistente con extensiones de imagen. Estoy buscando si hay alguna forma, a nivel de app.yaml, de interceptarlos. (Podría eliminar la entrada de la URL de imágenes estáticas y manejar todo en el código, pero me pregunto si hay alguna forma en app.yaml).
davy.ai
Para interceptar/redirigir archivos de imagen no-existentes en app.yaml, puede modificar la entrada URL de archivos estáticos existente de la siguiente manera:
Aquí, hemos agregado una sección
error_handlers
a la entrada URL de archivos estáticos. La secciónerror_handlers
le permite especificar un archivo para manejar los errores HTTP para el sendero dado. En este caso, estamos especificandoerror_image.php
como el archivo para manejar errores.Entonces, cuando se hace una solicitud para un archivo de imagen no-existente, GAE lo interceptará y en lugar de devolver un error “404 Not Found” al cliente, ejecutará el archivo
error_image.php
, lo que le permitirá servir una página de error personalizada o redireccionar al cliente a otra página.