使用SailsJs时301重定向

时间:2015-05-28 03:46:03

标签: node.js sails.js

情况:升级基本HTML的旧网站以使用SailsJS。旧网站有.html扩展名,并且在搜索引擎中排名很好。因此,我想将来自旧URL(.html扩展名)的所有传入请求路由到通过风帆生成的新结果(无扩展名)。

最好的方法似乎是301重定向,但我不确定是使用基于SailsJS的服务器实现此目的的最佳实践。

www.blah.com/blah2.xml => www.blah.com/blah2。

3 个答案:

答案 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