我正在尝试将基于HTML的网站发布到我的Google App Engine服务。我没有在这个项目中使用任何PHP代码,因为它只是一个登陆页面。
这是我的项目结构:
我相信我需要一个app.yaml文件发布到GAE? 这是我的app.yaml文件:
application: earthling-app
version: 1
runtime: php55
api_version: 1
handlers:
- url: /js
static_dir: js
- url: /images
static_dir: images
- url: /css
static_dir: css
但是,当我在Google App Engine Launcher中运行我的应用程序时,这就是它所显示的内容:
我收到“网址”/index.html“与任何处理程序都不匹配。”,“未找到”错误。
我的结构和app.yaml是否正确且安全地发布到GAE服务?为什么我没有正确看到我的网站?
修改
在Amber的建议之后,这是我的app.yaml:
application: earthling-app
version: 1
runtime: python
api_version: 1
handlers:
- url: /.*
static_dir: static
我将所有静态文件移动到名为“static”的文件夹
答案 0 :(得分:1)
您定义了3个处理程序:/js
,/images
和/css
。这些都不匹配/index.html
,因此当您尝试访问包含/index.html
的路径时,应用程序会抛出错误,因为它不知道该怎么做。
您需要定义一个或多个与您要提供的实际页面匹配的处理程序,而不仅仅是js / images / css路径。
对于像你这样的完全静态的网站,最简单的方法可能是只定义一个处理程序:
handlers:
- url: /.*
static_dir: static
然后将整个网站(包括css / images / js)放在static
目录中:
earthling/
app.yaml
static/
css/
...
images/
...
js/
...
index.html
favicon.ico
...
如果你这样做,你甚至不需要任何python文件,因为整个网站将由static_dir规则逐个文件地提供(/.*
匹配任何路径,因为.*
匹配任何字符串)。
答案 1 :(得分:0)
另一种方法是使用Google Clould Storage为您的网站提供服务。它有一个服务静态网站的功能。它作为CDN使用,您只需为传输的数据付费。