express路由拦截,如果是html文件不是模板,能拦截重定向吗?怎么办?
发布于 8 年前 作者 lyz1991 4657 次浏览 来自 问答

123.png123.png

6 回复

是否是模板和路由没关系 楼主是这个意思吗

router.get('/*.html', function(req, res, next) {
  res.redirect('/index');
});

router.get('/index', function(req, res, next) {
  res.render('index',{title:"hello"});
});

@gjc9620 但是你这个貌似如果当html文件存在时候,回调函数不会执行

@lyz1991 路由和html没关系啊= =如果你要访问静态资源 放到public目录下

@gjc9620 我的意思如何在输入静态资源地址的情况下,还要屏蔽静态资源的访问

静态文件的配置放到最后,先动态,再静态,试试

来自酷炫的 CNodeMD

@lyz1991 终于明白了 看看你app.use的顺序 先定义的先执行 把路由文件定义在前面 如

app.use('/', routes);
app.use('/users', users);

app.use(express.static(path.join(__dirname, 'public')));

这样肯定走到到路由了

回到顶部