gpt4 book ai didi

google-app-engine - 使用 Google App Engine 和 Go 的静态文件

转载 作者:IT王子 更新时间:2023-10-29 02:16:58 26 4
gpt4 key购买 nike

我有一个问题。

我无法从我的静态目录访问任何文件。

应用程序.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 替换 hello 时,我有

Error: Not Found

The requested URL / was not found on this server.

我错过了什么?

谢谢。

最佳答案

static_dir 功能将目录映射到目录,而不是像您尝试做的那样将文件映射到目录。

如果你想用 globs 映射一组文件(并且没有包含目录),那么使用 static_filesupload 的组合。

对于您的情况,它是:

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

但是你可以使用 static_dir,只是不要使用 glob 部分:

- url: /
static_dir: web

这也应该可以解决问题。

参见 Static Directory HandlersStatic File Patterns文档中的部分,特别是关于 static_dir 的部分,它说:“匹配的 url 模式结束后的所有内容都附加到 static_dir 以形成所请求文件的完整路径。”这就是为什么您正在做的事情不起作用:static_dir 功能在范围上比您想象的要受限得多。

关于google-app-engine - 使用 Google App Engine 和 Go 的静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25489078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com