我正在使用expressJs 3.x和节点0.8.8。在我的应用程序中,我试图捕获所有无效的网址。所以我添加了以下代码。它工作正常,如果我尝试访问公共或静态文件,它也会捕获URL。
app.all('/*', function(req, res){
\\ Do some action like redirecting or whatever ...
});
如何避免或传递静态文件夹文件(GET请求)以及如何仅捕获无效的网址?
答案 0 :(得分:6)
最有可能的是,您在app.use(app.router)
之前调用app.use(express.static(...))
,以便express
首先尝试查找匹配的路由,并且只有在没有匹配的路由时才会尝试查找相应的静态文件。
配置代码应该是这样的:
app.configure(function () {
app.use(express.static(__dirname + '/public'));
app.use(app.router);
});
以便express
首先尝试查找静态文件。
答案 1 :(得分:1)
Express
没有区分静力学和非静力学的原因有很多,这有时可能是一个问题,但它非常灵活。
我不确定expressjs have to differentiate static calls
是什么意思,没有invalid url
这样的东西,只是你如何解释任意字符串。