2011-03-18 15 views
8

La siguiente app.yaml funciona muy bien en mi servidor de desarrollo local ... pero cuando la despliego a producción, todos los archivos estáticos arrojan 404. El servidor no puede localizar ningún archivo estático. Han estado buscando horas no pudieron encontrar una solución válida.Google App Engine Archivos estáticos GET 404

Nota: Estoy desarrollando con mac, tan consciente de la naturaleza sensible a mayúsculas y minúsculas del sistema.

application: dev-scanner 
version: 1 
runtime: python 
api_version: 1 

handlers: 
- url: /(.+) 
    static_files: static_files/\1 
    upload: ./static_files/(.+) 

- url:/
    static_files: static_files/index.html 
    upload: ./static_files/index.html 

Aquí está el error del registro de

2011-03-18 01: 18: 07.033/404 21ms 0cpu_ms 0KB Mozilla/5.0 (Macintosh; T; Intel Mac OS X 10_6_6 ; en-US) AppleWebKit/534.16 (KHTML, como Gecko) Chrome/10.0.648.134 Safari/534.16, gzip (GFE), gzip (GFE), gzip (GFE) 76.126.174.202 - - [18/Mar/2011: 01: 18: 07 -0700] "GET/ HTTP/1.1" 404 0 - "Mozilla/5.0 (Macintosh; U; Intel Mac O S X 10_6_6; en-US) AppleWebKit/534.16 (KHTML, como Gecko) Chrome/10.0.648.134 Safari/534.16, gzip (GFE), gzip (GFE), gzip (GFE)" "dev.app-scanner.com" ms = 21 = 0 cpu_ms api_cpu_ms = 0 cpm_usd = 0.000053 W 2011-03-18 01: 18: 07,012 archivo estático referenciado por manejador no encontrado: static_files/index.html

Aquí está el archivo estructura del sistema después de que uso appcfg.py download_app -A

enter image description here

+2

'. /' Es redundante. No estoy seguro de que esté causando tu problema, pero trataría de eliminarlo. – geoffspear

+0

¿Qué sucede si cambia 'static_files' en el yaml a' static_dir'? –

+0

Llego un poco tarde, pero me gustaría señalar que tuve el mismo problema con una solución diferente. Para lectores en el futuro: verifique dos veces para asegurarse de que sus nombres de archivo y sus nombres coincidan exactamente (INCLUYENDO el caso). Estaba desarrollando en Windows (lo siento) y pensé que 'image.PNG' se reconocería igual que' image.png', pero el entorno de GAE distingue entre los dos. –

Respuesta

7

Tome un vistazo a la app.yaml en este GIST:

https://gist.github.com/873098

Sirve con éxito un sitio estático. Las principales diferencias que veo son la falta de './' como se indica en @Wooble anterior, y el uso de (. *) En lugar de (. +) Como la expresión regular principal. (. +) debería funcionar en teoría, sin embargo.

+0

¡Funcionó como el encanto! Gracias Calvin, esta app.yaml fue muy útil y cubre todos los casos. @Jorge @Wooble, gracias por ayudar a la gente – Santthosh