我有问题。
我无法访问静态目录中的任何文件。
的app.yaml:
application: campana-web-1
version: 1
runtime: go
api_version: go1
handlers:
- url: /hello
script: _go_app
- url: /.*
static_dir: web
结构:
campana-web-1:
+-- src:
+-- hello.go
+-- web:
+-- index.html
+-- test.jpg
+-- app.yaml
我使用goapp deploy .
当我去http://website.com/hello
时,它工作,但不是当我用test.jpg或index.html替换你好时我有
Error: Not Found
The requested URL / was not found on this server.
我错过了什么?
谢谢。
答案 0 :(得分:1)
static_dir 功能将目录映射到目录,但不会将文件映射到目录。
如果要使用globs(并且不包含目录)映射文件集合,请改为使用 static_files 和 upload 的组合。
对于你的情况,它是:
- url: /(.*)
static_files: web/\1
upload: web/.*
但你可以使用 static_dir ,只是不要使用glob部分:
- url: /
static_dir: web
这也应该可以解决问题。
再次查看文档中的Static Directory Handlers和Static File Patterns部分,特别是有关static_dir的部分,其中说明:匹配的网址模式结束后的所有内容都会附加到 static_dir 以形成所请求文件的完整路径。“这就是你正在做的事情不起作用的原因: static_dir 功能的范围比你想的要多得多。