情况:升级基本HTML的旧网站以使用SailsJS。旧网站有.html扩展名,并且在搜索引擎中排名很好。因此,我想将来自旧URL(.html扩展名)的所有传入请求路由到通过风帆生成的新结果(无扩展名)。
最好的方法似乎是301重定向,但我不确定是使用基于SailsJS的服务器实现此目的的最佳实践。
www.blah.com/blah2.xml => www.blah.com/blah2。
答案 0 :(得分:3)
对于SEO目的,您还必须使用HTTP状态代码处理此问题。您应该使用自定义路由(config / routes.js)并使用以下代码创建控制器:
module.exports = {
// this is you action name
redirect: function(req, res) {
res.status(301);
return res.view('blah2');
}
}
您还应该在views文件夹中创建视图,并设置路径以通过控制器。
答案 1 :(得分:2)
您应该使用Sails custom routes。
将您的视图文件复制到views
文件夹中。将其扩展名替换为ejs
。
您现在可以在config/routes.js
文件中添加要使用的每条路线,例如:
module.exports = {
'GET /blah2.html': { view: 'blah2' },
...
};
答案 2 :(得分:0)
我认为您正在寻找的是Sails中的redirect()函数。因为就SEO而言,301(永久)重定向是最佳做法。
这里有一个示例,如何在config / routes.js 文件中使用它:
'/blah2.xml': (req,res)=>{ return res.redirect(301,'/blah2') },
有关更多信息,请参阅sails.js文档: https://sailsjs.com/documentation/reference/response-res/res-redirect