在我的应用程序中有一个/static
文件夹,其中包含应用程序所需的所有静态资源。这是我的静态资源处理程序:
- url: /static
static_dir: static
这适用于直接在/static
中的文件,但是假设我还有另一个包含jQuery的文件夹:
static
|- jquery
| \- jquery.js
|
\- images
\- ...
当我尝试到达[myapp].appspot.com/static/jquery/jquery.js
时,它会返回404,我不知道为什么。
我的一些文件(包括.css
和.ttf
等)也给我Could not guess mimtype
错误。我不知道如何解决这个问题。
添加了我的(新)app.yaml。我没有dispatch.yaml。
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /static/pages_style
mime_type: text/css
static_dir: /static/pages_style
- url: /static/images/(.*\.(gif|png|jpg))$
static_files: static/images/\1
upload: static/images/.*\.(gif|png|jpg)$
- url: /static/bootstrap 3.3.5
static_dir: /static/bootstrap 3.3.5
- url: /static/jquery 2.1.4
static_dir: /static/jquery 2.1.4
- url: /.*
script: myapp.app
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
答案 0 :(得分:1)
404
次请求的[myapp].appspot.com/static/jquery/jquery.js
错误是由static_files
网址路径下的static_dir
网址格式造成的:
- url: /static/(.*\.css)$
static_files: static/\1
upload: static/(.*\.css)$
- url: /static
static_dir: static
在上面的示例中,/static/(.*\.css)$
个匹配项位于/static
下方。我猜在GAE基础设施中的静态目录/文件路由在这种情况下会感到困惑。
解决方案是使路径更具体,以使static_dir
网址永远不会包含与static_files
网址格式或其他static_dir
网址匹配的路径。
关于Could not guess mimetype
错误,此Q& A解释得很清楚:Could not guess mimetype