谷歌云文档对该应用的可用语法不是很精确。用于我的节点的yaml文件。js应用程序。
我使用了GAE的Python留档中描述的语法,从中我发现了处理程序mecism:
handlers:
- url: /index.html
static_files: /public/index.html
upload: /public/index.html
我避免使用expressjs规则来服务/public/index。html内容,最后我得到了一个404错误,这意味着GAE不是作为静态内容提供我的页面:
$ curl -i "http://my-project/index.html"
HTTP/1.1 404 Not Found
...
你有什么线索吗?节点。js与制作API、生成动态内容相关。。。但我更喜欢使用谷歌后端,甚至是Nginx服务器来处理静态内容。
删除前导斜杠并没有解决这个问题。我稍微改变了我的app.yaml配置:
handlers:
- url: /api/.*
secure: always
script: app.js
- url: /.*
secure: always
static_dir: public
我仍然在/索引中找不到404。html
,并在调用/api/stuff
时获得正确的200 OK应答。
以下是我的项目树结构:
Project root
|- app.js
|- app.yaml
|- package.json
|- public/
| `-- css/
| `-- style.css
| `-- js/
| `-- main.js
| `-- index.html
非常留档页面的示例通常应该足够了。
您在static_files
和上传
值中有一个前导/
,它应该只是到您的应用目录顶部的相对路径。
可能还有其他原因,起点是应用程序的日志,无论是在开发服务器上还是在GAE上(如果已经部署)。
更新:
根据静态目录处理程序doc:
静态目录示例:
handlers:
# All URLs beginning with /stylesheets are treated as paths to static files in
# the stylesheets/ directory.
- url: /stylesheets
static_dir: stylesheets
网址
URL前缀。该值使用正则表达式语法(因此必须转义regexp特殊字符),但不应包含分组。所有以该前缀开头的URL都由该处理程序处理,使用前缀后的URL部分作为文件路径的一部分。
根据这句话,我怀疑应用程序的
的处理程序规范可能会导致问题(例如,url
中存在通配符。yaml/index.html
实际上可能会通过静态\u dir
解析逻辑扩展到/index.html
),我会替换url以清楚地指示目录,如下所示:
- url: /
secure: always
static_dir: public
我不喜欢将应用程序命名空间的顶级/
绑定到静态目录,但对于一般静态的应用程序来说可能还可以。确保您始终将此处理程序规范保留在app.yaml
文件中以避免问题。
我无法访问静态内容(angular app),甚至无法访问简单的索引。来自spring boot的html文件。我一直收到404错误。Spring没有为我提供这些静态文件。自从升级到Spring Boot 2.2.4后,我就遇到了这个问题。我必须升级以应对Zip64问题。 我的application.properties里有这样一句话: 我也有自己的staticResourceConfigurat
问题内容: 我无法让Spring-boot项目提供静态内容。 我已经放在一个命名的文件夹下。在其中,我有一个名为的文件夹。当我打包应用程序并运行它时,它找不到我放在该文件夹中的图像。 我试图把静态文件中,并但没有任何工程。 如果我我可以看到文件在正确文件夹的jar中:例如,但是调用:http://localhost:8080/images/head.png,我得到的只是一个404 有什么想法为什么
问题内容: 我在两个不同的容器(Tomcat和Jetty)上部署了一个webapp,但是它们用于提供静态内容的默认servlet具有处理我要使用的URL结构的不同方式(详细信息)。 因此,我希望在web应用程序中包含一个小型servlet,以提供其自己的静态内容(图像,CSS等)。Servlet应该具有以下属性: No external dependencies Simple and reliab
我与Wildfly上部署的webapp中的一些静态文件(主要是图像)发生了冲突。有时应用程序需要更新其中的一些文件,然后在文件系统中替换这些文件。 这显然是缓存的问题,因为如果我删除以前请求的文件之一并再次请求它,我将得到和StackTrace!
问题内容: 该应用程序使用JDK 8,Spring Boot和Spring Boot Jersey启动程序,并打包为WAR(尽管它是通过Spring Boot Maven插件在本地运行的)。 我想做的是将我在运行中(在构建时)生成的文档作为欢迎页面。 我尝试了几种方法: 通过按照此处所述配置 适当的init参数,让Jersey提供静态内容 引入以便将生成的HTML文档作为欢迎文件列出。 这些都没有
类似于另一个问题(参见过滤静态内容Jersey),我想从Jetty提供静态内容。在浩瀚的互联网上散布着几个类似的问题,但大多数都不涉及Guice,而那些涉及Guice的问题已经完全过时了。 我有一个现有的服务,使用泽西(1.12)和Guice(3)与以下: < code>MyGuiceConfig看起来像这样: 当我使用 时,我的服务按预期工作。但是,任何对静态内容的请求都会产生404。 如何在不