我正在使用Angular和Node.js,我有一个重定向机器人来加载SEO内容的页面。在表达中我有这样的事情:
req.isBrowser = function () {
var pattern = /(opera|aol|msie|firefox|chrome|konqueror|safari|netscape|navigator|mosaic|lynx|amaya|omniweb|avant|camino|flock|seamonkey|mozilla|gecko)+/i;
return pattern.test(req.headers['user-agent']);
};
我会在GET请求中使用它来进行必要的重定向。虽然在Sails中很难弄清楚如何很好地做到这一点。有没有我可以运行此检查的地方,只是自动重定向到公共文件夹中的静态文件,如果它是浏览器,否则通过jade / ejs运行它,如果它是机器人。
答案 0 :(得分:0)
如果您阅读sails doc policies,它会谈到如何为sails进行身份验证。意味着他们可以在每次路线被击中时运行一个功能。
/config
- policies.js
// policies.js
module.exports.policies = {
"*": "isBrowser"
// or some controller
ViewController: {
"index": "isBrowser"
},
}
/api
/policies
- create a file name "isBrowser.js"
// sBrowser.js
module.exports = function(req, res, next) {
if (/your logic/) {
// go back to your normal route function.
return next();
} else {
// do something about SEO bot.
}
};