Google AppEngine 2nd generation for php では front controller 式になったので、 app.yaml でのルーティング方法がいろいろ変更になっています。
リファレンスは app.yaml Configuration File ですが、スタティックファイルへのルーティングと script
の両立に絞ったシンプルケースは以下の app.yaml
になります。
以下ではスタティックファイルとして favicon.ico
を指定しています。
app.yaml
runtime: php72
entrypoint: serve public/index.php # ★ entryポイントを指定
service: default
handlers:
- url: /favicon\.ico
static_files: static/favicon.ico
upload: static/favicon\.ico
- url: .*
script: auto # ★ script = auto を指定
勘所
entrypoint
ディレクトリが追加になった為に目を引きますが、肝は script: auto
です。
- url: .*
script: auto
エントリーポイントの指定
エントリーポイントは entrypoint
で指定できますが、 index.php
もしくは public/index.php
であれば指定する必要はないです。
指定して損はないので明示しておくと良いと思いますけど。
参考
私はこの記事を読んでいながら同じ轍を踏みました。斜め読みせずにきちんと読むことが大事です。
リファレンス は網羅的だから、通して読むのも辛いし、あまり記憶に残らないんだよね。リファレンスというのはそういうものではないし。