捕获expressJS中的所有无效URL也会捕获静态或公共文件

Jak*_*Jak 1 connect node.js express

我正在使用expressJs 3.x和节点0.8.8.在我的应用程序中,我试图捕获所有无效的网址.所以我添加了以下代码.如果我尝试访问公共或静态文件,它工作正常,它也捕获URL.

app.all('/*', function(req, res){
    \\ Do some action like redirecting or whatever ...
});
Run Code Online (Sandbox Code Playgroud)

如何避免或传递静态文件夹文件(GET请求)以及如何只捕获无效的URL?

pen*_*tur 6

最有可能的是,您app.use(app.router)之前正在调用app.use(express.static(...)),因此express首先尝试查找匹配的路由,并且只有在没有匹配的路由时才会尝试查找相应的静态文件.

配置代码应该是这样的:

app.configure(function () {
    app.use(express.static(__dirname + '/public'));
    app.use(app.router);
});
Run Code Online (Sandbox Code Playgroud)

所以这express将首先尝试查找静态文件.