尝试使用Google App Engine中的app.yaml重新映射静态目录

时间:2014-07-30 19:12:02

标签: google-app-engine app.yaml

我有一堆文件不在/cloud/images/example/foo.png但实际上在/images/example/foo.png

我想在URL /cloud/...上提供HTML和CSS / JS /图像内容,并让它查看根/的本地app目录。

只是尝试测试一个人如何从我的根目录的<img src="/cloud/images/...">文件夹中提供/images的文件,并浏览到/cloud/foo/并让它服务/foo/index.html

图片获得了一些成功:

# /cloud to root
- url: /cloud
  static_dir: .

但我有点被困在那之外。

注意:整个网站是100%静态的

1 个答案:

答案 0 :(得分:0)

为你服务html:

handlers:
- url: /cloud/foo/
  static_files: foo/index.html
  upload: foo/index.html
- url: /cloud/foo/(.*)
  static_files: foo/\1
  upload: foo/(.*)

(.*)将基本捕获所有字符并使用它们在本地路径中找到该文件,因此您可以拥有嵌套目录。

第一个处理程序实际上是一个例外,如果你希望它的行为类似于/返回/index.html的经典文件服务器,你必须告诉路由器这个特殊情况。就个人而言,我不会这样做(除了根,为了可用性);您将有两种方法可以访问同一个文件(//index.html),这样可能会导致混淆(甚至是SEO问题),而且它是一个静态网站,所以使用完整版很酷像/foo/bar/index.html这样的路径,只关心我的2¢。