如何限制用户访问ExpressJS / NodeJS中的静态html文件?

时间:2015-02-06 09:50:17

标签: javascript html node.js express url-routing

有没有办法检测用户的请求URL并重新路由到特定的错误页面,例如, 我想要所有路由到任何HTML文件(* .html),检测它并希望它被重新路由到错误页面。同时将其隐藏起来以便用户查看。

P.S:使用Express 4和最新的Node.JS版本。

app.get('/', function(req,res){
    if(req.is('text/html') == true){
        res.redirect('/login');
    }

这似乎不起作用,我想我错过了获取请求中的参数。

请指导。提前致谢。

1 个答案:

答案 0 :(得分:2)

假设您的网址中包含文字html,并且在这种情况下,您希望将其发送到login。请尝试以下方法:

app.use(function (req, res, next) {
    if ((req.path.indexOf('html') >= 0)) {
        res.redirect('/login');
    } 
});

它会检查您的网址路径,如果它检测到html,则会重定向到login