使用 SailsJs 时的 301 重定向

301 redirect when using SailsJs

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

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

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

您应该使用 Sails custom routes


将视图文件复制到 views 文件夹中。将其扩展名替换为 ejs.

您现在可以在 config/routes.js 文件中添加要使用的每条路线,例如:

module.exports = {

    'GET /blah2.html': { view: 'blah2' },
    ...

};

出于 SEO 目的,您还必须使用 HTTP 状态代码来处理此问题。您应该使用自定义路由 (config/routes.js) 并使用以下代码制作控制器:

module.exports = {
  // this is you action name
  redirect: function(req, res) {
    res.status(301);
    return res.view('blah2');
  }
}

您还应该在视图文件夹中创建视图并设置通过控制器的路由。

我认为您正在寻找的是 sails 中的 redirect() 函数。因为就 SEO 而言,301(永久)重定向是最佳做法。

这里有一个示例,说明如何在配置/routes.js 文件中使用它:

'/blah2.xml': (req,res)=>{ return res.redirect(301,'/blah2') },

有关详细信息,请参阅 sails.js 文档: https://sailsjs.com/documentation/reference/response-res/res-redirect