2016-03-12 85 views
0

我試圖將我的基於HTML的網站發佈到我的Google App Engine服務。我沒有爲這個項目使用任何PHP代碼,因爲它只是一個登陸頁面。Google App Engine:發佈app.yaml文件

這是我的項目結構:

enter image description here

而且我相信我需要一個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 

然而,當我跑我的谷歌應用程序引擎啓動的應用程序,這是它表明:

enter image description here

我得到一個「的網址「/index.html」與任何處理程序不匹配「,」未找到「錯誤。

我的結構和app.yaml是否正確且安全地發佈到GAE服務?爲什麼我沒有正確地看到我的網站?

編輯

琥珀的建議之後,這是我的app.yaml:

application: earthling-app 
version: 1 
runtime: python 
api_version: 1 

handlers: 
- url: /.* 
    static_dir: static 

我提出我的所有靜態文件到一個名爲 '靜態'

回答

1

你有3個文件夾處理程序定義:/js/images/css。這些都不匹配/index.html,所以當您嘗試訪問包括/index.html的路徑時,應用程序會拋出一個錯誤,因爲它不知道該怎麼做。

您需要定義一個或多個與您想要服務的實際頁面匹配的處理程序,而不僅僅是js/images/css路徑。

對於一個完全靜態的網站像你,最簡單的方法很可能是隻定義一個處理程序:

handlers: 
- url: /.* 
    static_dir: static 

然後把你的整個網站(包括CSS /圖像/ JS)的static目錄內:

earthling/ 
    app.yaml 
    static/ 
    css/ 
     ... 
    images/ 
     ... 
    js/ 
     ... 
    index.html 
    favicon.ico 
    ... 

如果你做這種方式,你甚至不需要任何Python文件,因爲整個網站將在文件通過文件爲基礎由static_dir規則送達(/.*匹配任何路徑,自.*匹配任何字符串)。

+0

你能告訴我要添加到我的app.yaml嗎?我有點新:) :) – Dinuka

+0

@Earthling補充說。 – Amber

+0

嗯我仍然得到「網址」/「不匹配任何處理程序。」當我嘗試'http:// localhost:8084 /'。我也嘗試'http:// localhost:8084/index.html'仍然沒有運氣。 – Dinuka

0

另一種方法將爲您的網站使用Google Clould Storage。它具有爲靜態網站提供服務的功能。它作爲一個CDN工作,您只需支付傳輸的數據。