3

http://website.com/some_dir/のように「/」で終わるURLのgetリクエストで、そのディレクトリ内のindex.htmlファイルを受信したい...私の例では、http: //website.comを受信する必要があります/some_dir/index.html

GAE Launcher / local-serverを使用してローカルで動作させていますが、デプロイしてwebsite.appspot.com経由でアクセスすると、失敗します...エラーが発生します:

エラーはみつかりません

要求されたURL/some_dir/がこのサーバーで見つかりませんでした。

これは私が私のyamlに持っているものです:

- url: /
  static_files: staticLocation/index.html
  upload: staticLocation/index.html
- url: (.+)/
  static_files: staticLocation/\1/index.html
  upload: staticLocation
- url: /
  static_dir: staticLocation

ローカルではうまく機能するが、appspotでは機能しない理由/アイデア、および問題を解決する方法について知りたいのですが。

4

3 に答える 3

0

問題を確認しました。ローカルで動作しますが、appspot では動作しません。問題の変更を修正するには:

- url: (.+)/
  static_files: staticLocation/\1/index.html

- url: (.*)/
  static_files: staticLocation\1/index.html`

そしてそれは正しく動作するはずです。(注:+は に変更さ*url/は で削除されましたstatic_files)

あなたの好奇心を満たすために、先頭に一致していた/ので、ファイルシステムの場所のルックアップは、OSだけに折りたたまれるstaticlocation//some_dir/index.htmlため、ファイルシステムで正常に機能しました。私は、appspot のパス ルックアップが折りたたまれていないため、index.html ファイルが見つからないと思います。/////

ところで、前述のように 2 番目のルールを修正すると、最初のルールがまったく必要なくなり、そのルールを削除できるようになります。

于 2014-09-17T09:31:15.770 に答える
0

2 番目のルートの「アップロード」行の詳細が不十分なため、内部のファイルは appengine にデプロイされません。次のようなものが必要です。

- url: (.+)/
  static_files: staticLocation/\1/index.html
  upload: staticLocation/(.*)

- url: /(.+)
  static_files: staticLocation/\1/index.html
  upload: staticLocation/(.+)/index.html

(最後のルートには最初のルートと同じ URL があるため、ヒットすることはなく、削除される可能性があります。)

于 2012-09-02T13:51:14.533 に答える
-1

AppEngine 運用サーバーは大文字と小文字を区別するファイル システムです。両方の大文字と小文字が一致していることを確認してください。

于 2012-09-02T04:44:22.617 に答える