2014-12-05 40 views
0

我使用Google App Engine(GAE)製作代理服務器,並且遇到問題。 我已將此添加到我的app.yaml;Web內容(如圖像未顯示在Google App Engine代理中)?

application: APPNAME 
version: secureable 
runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /robots\.txt 
    static_files: static/robots.txt 
    upload: static/robots\.txt 

- url: /(.*\.(gif|png|jpg|ico|js|css|swf|php)) 
    static_files: \1 
    upload: (.*\.(gif|png|jpg|ico|js|css|swf|php)) 

- url: /images\.ico 
    static_files: images/db_favicon.ico 
    upload: images/db_favicon\.ico 

- url: /static 
    static_dir: static 
    secure: optional 

- url: /.* 
    script: mirror.app 
    secure: optional 

正如你可以看到,它具有所有的一般東西,但我最近添加;

- url: /(.*\.(gif|png|jpg|ico|js|css|swf|php)) 
     static_files: \1 
     upload: (.*\.(gif|png|jpg|ico|js|css|swf|php)) 

這使所有的網頁圖像消失,以及所有的格式/ css。那麼,它只會返回HTML,就是這樣。該錯誤只發生在我添加這個時,但我希望SWF文件和其他東西能夠工作(如GIF和其他東西)。 - 謝謝

+0

你的靜態文件在目錄中嗎?例如,你的主要css文件在哪裏?根據你的代碼,你的/something.css文件需要在根目錄下找到。 – GAEfan 2014-12-06 05:21:15

+0

那是事。我需要每個文件嗎?我所知道的是我有一個'static'文件夾,裏面有'robots.txt'?我不確定是否需要額外的文件或其他東西。 – 2014-12-06 10:06:38

+0

你的css,swf,js,gif文件現在在哪裏?而且,你用什麼網址訪問它們?例如,site.com/image.gif或site.com/static/image.gif? – GAEfan 2014-12-06 15:08:48

回答

0

這是我的建議。刪除正則表達式的東西:

- url: /(.*\.(gif|png|jpg|ico|js|css|swf|php)) 
    static_files: \1 
    upload: (.*\.(gif|png|jpg|ico|js|css|swf|php)) 

把你的所有靜態文件(GIF,SWF,CSS,JPG,JS等)進入靜態目錄,並使用/static/filename.ext訪問它們。 (文件名意味着你使用的任何文件名,ext表示文件的任何擴展名,例如gif,css等)。直到你明白它在做什麼之前,不要使用正則表達式。對於一個簡單的站點,使用簡單的靜態目錄是一個乾淨的解決方案。

+0

哦對。所以我可以把'.ext'文件放在我的靜態目錄中?然後刪除正則表達式('-url:/'東西)? – 2014-12-06 15:25:35

+0

等一下。我在你的正則表達式中看到一個PHP擴展。你正在運行一個PHP或Python應用程序?如果您的靜態圖像位於根級別,則您的代碼應該按原樣工作。你的靜態文件在哪裏? – GAEfan 2014-12-06 15:28:44

+0

我正在運行Python。你是否介意對這個「靜態」的東西進行一個小的解釋,因爲我認爲我知道了,但我並不是100%肯定的。因爲我沒有任何「靜態圖像」? - 謝謝 – 2014-12-06 15:31:34