Octopress, Google AppEngine (GAE) и app.yaml — получение 404

Я пытаюсь опубликовать блог, созданный с помощью 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.


person SlackOverflow    schedule 21.07.2013    source источник
comment
Это неправильный ответ на ваш вопрос, поэтому я напишу его в комментарии. Я рекомендую использовать корзины Amazon S3 для хостинга блогов Octopress. Это отличное решение — дешевое как грязь, вы получаете встроенный CDN, и вам не нужен какой-либо механизм маршрутизации, поскольку это чисто статические документы. Теперь вы даже можете разместить корневой домен на S3, так что больше не нужно беспокоиться о поддомене www. А поддержку S3 легко сделать с помощью s3cmd в задаче rake. Страницы Github также являются хорошим вариантом.   -  person platforms    schedule 21.07.2013
comment
Думаю, я последую вашему совету...   -  person SlackOverflow    schedule 29.08.2013
comment
Если это поможет, вот суть, показывающая, как я использую s3cmd для развертывания Octopress на S3: gist.github.com/ башкодер/24af831cafb59589efc3   -  person platforms    schedule 29.08.2013