CNode

express路由拦截,如果是html文件不是模板,能拦截重定向吗?怎么办?

问答
Llyz1991发布于10 年前最后回复10 年前6 回复5383 浏览0 收藏

123.png123.png

查看回复

回复 (6)

G
gjc9620#1·10 年前

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

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

router.get('/index', function(req, res, next) {
  res.render('index',{title:"hello"});
});
L
lyz1991#2·10 年前
引用 gjc9620是否是模板和路由没关系 楼主是这个意思吗

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

G
gjc9620#3·10 年前
引用 lyz1991@gjc9620 但是你这个貌似如果当html文件存在时候,回调函数不会执行

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

L
lyz1991#4·10 年前
引用 gjc9620@lyz1991 路由和html没关系啊= =如果你要访问静态资源 放到public目录下

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

S
satanmonkey#5·10 年前

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

来自酷炫的 CNodeMD

G
gjc9620#6·10 年前
引用 lyz1991@gjc9620 我的意思如何在输入静态资源地址的情况下,还要屏蔽静态资源的访问

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

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

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

这样肯定走到到路由了

参与回复
登录后即可参与回复。登录