我已在我的网站中屏蔽了'api', 'components', 'app', 'bower_components', 'assets'
,如下所示:
app.route('/:url(api|components|app|bower_components|assets)/*')
.get(errors[404]);
不幸的是,当我在网站上输入“http://localhost/api”时,我可以访问。请告诉我上述代码中哪一个缺失或错误。感谢。
答案 0 :(得分:-1)
您的示例正常运行,尝试使用http://localhost:3000/api访问您的应用 我做了一个功能性的例子:
var express = require('express');
var app = express();
app.route('/:url(api|components|app|bower_components|assets)/*')
.get(function blockRoutes(req, res, next){
console.log('req.params.url: ',req.params.url);
res.status(404).send('not found');
});
app.get('/api', function (req, res) {
res.send('API accessed!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
用这个例子测试 http://localhost:3000/api //如何返回200 http://localhost:3000/api/something //如何返回404