Я пытаюсь опубликовать блог, созданный с помощью Octopress, в GAE, но постоянно получаю ошибку 404.
Это мое приложение.yaml:
application: salattinet
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
# index files
- url: /(.*)/
static_files: public/\1/index.html
upload: public/(.+)/index.html
expiration: "15m"
# index files
- url: /(.*)
static_files: public/\1/index.html
upload: public/(.*)/index.html
expiration: "15m"
# site root
- url: /
static_files: public/index.html
upload: public/index.html
expiration: "15m"
- url: /blog/(.*)
static_files: public/blog/\1/index.html
upload: public/blog/(.+)/index.html
expiration: "15m"
- url: /
Локально все работает нормально, и публичная папка действительно называется общедоступной.
Это структура папок (pastebin).
Я развертываю с помощью Push-to-Deploy (git).
Журнал GAE выглядит так:
2013-07-21 11:35:11.322 / 404 65ms 0kb Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
80.167.172.136 - - [21/Jul/2013:02:35:11 -0700] "GET / HTTP/1.1" 404 0 - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36" "salattinet.appspot.com" ms=65 cpu_ms=0 app_engine_release=1.8.2
W 2013-07-21 11:35:11.321
Static file referenced by handler not found: public/index.html
Любая идея о том, что я делаю неправильно?
Я знаю об этом вопросе и упомянутой сути, но это не помогло.
Изменить
По какой-то причине публикация с:
appcfg.py --oauth2 update .
...работает. Вероятно, это как-то связано с тем, как структура папок публикуется скриптом, а не git. Все еще пытаюсь понять, почему и как заставить работать Push-to-Deploy.