2017-07-31 11 views
0

に問題が基本的に私のディレクトリのレイアウトは、次のようになります:私は達成したい何はapp.yamlを

- demo 
| 
+ + exmaple1 
| | 
| + index.html 
| + some-script.js 
| 
+ + example2 
... 

は、そのようなここ

my.url/demo/example1     shows /demo/example1/index.html 
my.url/demo/example1/some-script.js shows /demo/example1/some-script.js 
my.url/demo/example1/index.html  redirects to my.url/demo/example1 

は私のapp.yamlであることを確認することです

handlers: 
# some stuff here 
- url: /demo/([^/]+)$ 
    static_files: demo/\1/index.html 
    upload: demo/(.+)/index\.html$ 

- url: /demo 
    static_dir: demo 

それはmy.url/demo/example1の正しいページを返さないが、私はを要求しようとすると、、それは404を返します。それはなぜ、どのように私はそれを修正する必要がありますか?

答えて

0

.jsファイルのハンドラはありません。 「リダイレクト」とは、301のリダイレクトを完全に意味するのか、index.htmlの静的ファイルを表示するのかを意味しますか? これで必要なことはありますか?

- url: /demo/(.*)/(.*) 
    static_files: demo/\1/\2 
    upload: demo/(.*)/(.*) 

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

リダイレクトは301リダイレクトを意味します。ディレクトリにネストされたディレクトリが含まれている可能性があります。何らかの読書をすると、私は 'static_dir'を' static_files'と一緒に使うことはできませんので、すべてを管理するハンドラを作成しました。 –

+0

パス内の「ディレクトリ」と呼ばれるものは、古い時代と同じように必ずしもディレクトリではありません。あなたのapp.yamlはそれを解析してどこにでもポイントすることができます。例: '/ a/b/c/d/e/f'は'/1/'を指すことができます。 '/ g'は'/1/2/3/4/5/6/'を指すことができます。唯一の違いは、私の答えでは、訪問者はリダイレクトされず、ブラウザー内のURLとして 'my.url/demo/example1/index.html'がURLとして表示されることです。 – GAEfan

関連する問題