2014-12-05 91 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