2017-02-02 9 views
1

Googleのアプリエンジンクラウドスペースを使用しようとしていました。私のプログラムはlocalhostでは何の問題もなく実行されていますが、Googleのアプリケーションエンジンでホストしようとすると、静的ファイルは提供されません。次のようにapp.yamlをです:Google App Engine(SDK Go)でアップロードしたときに静的ファイルが配信されない

application: myTestApp-nn34322 
version: 1 
runtime: go 
threadsafe: true 
api_version: go1 

handlers: 
- url: /static/css 
    static_dir: ../static/css 
    mime_type: "text/css" 

- url: /static/js 
    static_dir: ../static/js 
    mime_type: "text/javascript" 

- url: /static/images 
    static_dir: ../static/images 

- url: /.* 
    script: _go_app 
+1

静的ファイルを取得しようとすると 'HTTP 404'エラーが表示されますか?また、 'app.yaml'と' static'フォルダは同じフォルダにありますか? – icza

+0

はい私は404を取得しています。私はbeegaeフレームワークを使用しています。私のapp.yamlはメインフォルダにあります。私の静的フォルダはメインフォルダと共にルートにあります。 –

+1

私の気持ちは、あなたの 'static'フォルダがAppengineにアップロードされないということです。 'static'ディレクトリを' app.yaml'の隣に移動してください。もちろん 'static_dir:static/xxx'を使用してください。 – icza

答えて

1

あなたは、あなたのapp.yamlファイルを置く同じフォルダの下にすべての静的リソースを置く必要があり、他の彼らはのAppEngineにアップロードされません。

ですから、次のapp.yamlにごstaticフォルダを置く必要があり、そしてもちろん正しいパスは例えば、単にstatic/xxx次のとおりです。

- url: /static/css 
    static_dir: static/css 
    mime_type: "text/css" 

- url: /static/js 
    static_dir: static/js 
    mime_type: "text/javascript" 

- url: /static/images 
    static_dir: static/images 

注:

あなたはこれらの静的を使用する場合静的なファイルパターンと一致するリソースは、アップロード後にアプリケーションにコピーされない(静的なファイルは別のサーバによって提供される)ため、特別な処理が必要なGoアプリのファイルも必要です。詳細は、Google App Engine Golang no such file or directoryを参照してください。基本的には、静的ファイルを複製するか、静的ファイルハンドラにapplication_readableオプションを指定する必要があります。

関連する問題