今時、GAEを使う人がどれだけいるのか分からないけど、、まぁ無料だし、サンプル実装等をURL付きで公開するなら個人契約のレンサバより、こういうサイトの方がいいのではと思っています。
で、久しぶりにGAEを使って、単に静的ファイルを置いただけだったのだが、ちょっとだけ、はまったのでメモとして記録
ローカルPCのファイル配置は以下
\hoge-+--index.yaml +--\public_html-+-index.html +-\js--sample.js +-\css--style.cs
上記、”¥名前”はフォルダを表します。public_htmlフォルダの下にindex.htmlと、さらに、js,cssフォルダがあるという構成(これが素直な配置かどうかは不明。。)。静的ファイルを取り扱うには、index.yamlでURL−>リソースを定義します。
ローカル環境で正常動作を確認した後、GAEのサーバにデプロイして動作確認すると、ファイルが見つからないといって怒られた。
正解を先に書くと、上記構成でエラーなしで動作するyamlは以下
application: virtualtourer version: 1 runtime: python27 api_version: 1 threadsafe: yes handlers: - url: /favicon\.ico static_files: favicon.ico upload: favicon\.ico - url: /css static_dir: public_html/css - url: /js static_dir: public_html/js - url: .* static_files: public_html/index.html upload: public_html/index.html libraries: - name: webapp2 version: "2.5.1"
サーバ側で正常に正常しなかったのは、パス指定をDOSの感覚でバックスラッシュ¥で書いていたため。パスを¥からスラッシュ/に修正すると正常に動作した。ローカル環境では¥で表記しても正常に動いてしまうのであった。。