2011-12-16 230 views
0

我目前正在使用Express框架进行项目工作。我有一个目录“/静态”,从中我想服务静态js和css文件。express.static()尝试提供/ css和/ js文件时出现404错误

项目目录结构如下:

/ 
    visits.js 
    /static 
    /css 
     style.css 
    /js 
     jquery.flot.js 
    /views 

在应用程序的配置,我设置了下面的静态文件服务器:

app.configure(function(){ 
    app.use(express.logger()); 
    app.use(express.static(__dirname + '/static')); 
    app.set('views', __dirname + '/views'); 
    app.set('view options', { layout : true }); 
    app.set('view engine', 'jade'); 
}); 

当我运行的应用程序我本地机器,一切都很好。我的网络控制台显示:

GET http://myserver.com/ [HTTP/1.1 200 OK 13ms] 
GET http://myserver.com/css/style.css [HTTP/1.1 200 OK 3ms] 
GET http://myserver.com/js/jquery.flot.js [HTTP/1.1 200 OK 4ms] 

然而,当我把同样的应用到了我的测试服务器,静态文件未找到(404错误):

GET http://myserver.com/visits/ [HTTP/1.1 200 OK 195ms] 
GET http://myserver.com/css/style.css [HTTP/1.1 404 Not Found 95ms] 
GET http://myserver.com/js/jquery.flot.js [HTTP/1.1 404 Not Found 93ms] 

唯一的区别,我可以想到的是我的本地机器上,我简单地访问应用在:

127.0.0.1:4000/ 

但在测试服务器上,我有应用坐在一个nginx的服务器后面。我用的是将请求转发到proxy_pass:

myserver.com/visits/ 

我想知道,如果转发影响,静态文件服务器使用来查找CSS和JS文件的路径?

任何想法/帮助将不胜感激。

谢谢!

回答

0

经过进一步调查,这是我在nginx配置中使用proxy_pass的问题。最初的GET请求正在正确转发到我的Express应用程序,但后续对css或js文件的调用未正确路由。这不是Express框架的问题。感谢您的期待。

+0

我有同样的问题,你的conf文件是什么样的? – user1441287 2014-09-23 22:03:55

相关问题