es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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

Tags:  ,

Answer

  1. Avatar for 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:

    - url: /(.+\.(gif|png|jpg))$
      static_files: static/\1
      upload: static/(.+)\.(gif|png|jpg)$
      error_handlers:
        - file: error_image.php
    

    Aquí, hemos agregado una sección error_handlers a la entrada URL de archivos estáticos. La sección error_handlers le permite especificar un archivo para manejar los errores HTTP para el sendero dado. En este caso, estamos especificando error_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.

Comments are closed.