サイトのトップへ戻る

Google App Engine ドキュメント日本語訳

静的ファイルを使用する

従来のウェブホスティング環境とは違い、 Google App Engine では、そのための設定をしなければアプリケーションソースのディレクトリ外にあるファイルを直接扱うことはできません。

しかし、多くの場合はウェブブラウザに静的ファイルを直接送信したいことでしょう。 通常は画像・CSS スタイルシート・ JavaScript コード・動画・ Flash アニメーションはアプリケーションと一緒に保存され、ブラウザへ直接送信されます。 独自のハンドラをコーディングすることなく、特定のファイルを送信するようApp Engine に指示することができます。



静的ファイルを使用する

helloworld/app.yaml を編集し、中身を以下のように書き換えてください:

app.yaml
View on GitHub
application: helloworld
version: 1
runtime: php55
api_version: 1

handlers:
- url: /stylesheets
  static_dir: stylesheets

- url: /.*
  script: helloworld.php

新たに追加した handlers 項目では、URLに関する二つのハンドラを定義しています。 App Engine がURLが /stylesheetsで始まるリクエストを受信した時、URLの残りの部分を stylesheetsディレクトリ内にあるファイル名と照らし合わせます。 合致するファイルが見つかった場合は、そのファイルの内容がクライアントへ返されます。 合致しなかった URL も全て/.*パスに合致するので、helloworld.phpスクリプトで処理されます。

既定では、 App Engine はファイルの拡張子に基づいた MIME タイプを使って静的ファイルを送信します。 例えば、名前が .css で終わるファイルはtext/cssの MIME タイプとして扱われます。 app.yamlハンドラを設定する場合、 mime_type設定を使って明示的にMIME タイプを設定できます。

URL ハンドラのパスパターンはapp.yamlに記述された上から下の順番に精査されます。 今回の場合は、/.*のURLパターンと合致する前にcode>/stylesheetsのURLパターンに合致します。 URLマッピングとapp.yamlで設定できる他のオプションについての情報は、app.yaml リファレンスを参照してください。

helloworld/stylesheetsディレクトリを作成してください。この新ディレクトリ内で、以下の内容の main.cssという名前のファイルを新規作成してください。:

stylesheets/main.css
View on GitHub
body {
  font-family: Verdana, Helvetica, sans-serif;
  background-color: #DDDDDD;
}

最後に、helloworld/helloworld.phpを編集して以下コードを一番上にあるタグの後ろに挿入してください。:

helloworld.php
View on GitHub
<head>
  <link type="text/css" rel="stylesheet" href="/stylesheets/main.css" />
</head>

ブラウザでページを再読み込みしてください。この新バージョンではスタイルシートを使用しています。



次は...

完成したアプリケーションを世界へ公開する時が来ました。

アプリケーションをアップロードする >>