2010-05-18 54 views
0

当url为多个级别时,我的简单GAE应用程序不会重定向到/ static目录。无法控制Google App Engine上的静态文件请求

导演结构:

/app/static/css/main.css 

应用:

我有两个处理一个用于/应用程序和一个用于/应用/新

的app.yaml:

handlers: 

- url: /static 
    static_dir: static 

- url: /app/static/(.*) 
    static_dir: static\1 

- url: /app/.* 
    script: app.py 
    login: required 

HTML:

说明: 当页面从main.css的/应用程序HTTP请求加载成功

GET /static/css/main.css 

但是,当页面加载从/应用/新我看到下面的要求:

GET /app/static/css/main.cs 

那时候我尝试在app.yaml中添加/app/static/(.*),但没有任何效果。

+0

如何在'/ app/new'渲染任何模板时指定CSS文件?它应该(可能)是''link rel =“stylesheet”href =“/ static/css/main.css”>'(注意'href'属性开头的“/”)。 – 2010-05-18 03:24:33

+0

真棒!我改变了在开始时加入了“/”,它起作用了!那是为什么它不匹配app.yaml处理程序? – dan 2010-05-18 03:31:06

回答

0

在HTML中,以“/”开头的内部链接是绝对链接,不带“/”开始的链接是相对链接。所以,如果你要求:

/应用

,并有相对链接:

静态/ CSS/main.css的

的要求变为:

/static/css/main.css

相关链接使用“/ app”中的“/”,因为“app”部分被认为是页面,“/”被认为是目录。

如果您请求:

/应用/新

你的要求变为:

/app/static/css/main.css

相关链接使用“/ app /”,因为“/ app /”被认为是目录,“新”被认为是页面。

相关问题