【问题标题】:Relative paths to another relative path到另一个相对路径的相对路径
【发布时间】:2016-05-17 10:04:29
【问题描述】:

我设置了一个 Node/Express 服务器,我们正在从子目录转换到子域以进行本地化,例如

es.example.com       // old way
www.example.com/es   // new way

这样做有多种原因,但主要是为了便于在国际化内容中保存 JWT 登录状态。

我遇到了动态生成链接的问题 - 如何确保它们将保留子目录?

例如,如果我将用户从 index.html 链接到 /user-profile/1000,我该如何维护 /es/user-profile/1000?有没有办法让相对路径到其他相对路径?如果这有道理?

【问题讨论】:

    标签: node.js express internationalization relative-path


    【解决方案1】:

    您可以使用重定向到原始路径的中间件解决方案。这是一个基本的例子

    var languages = ['en', 'es'], _ = require('lodash');
    app.use("/:lang/*", function(req, res, next) {
        console.log(req.params, req.path);
        var found = _.find(languages, function(v) {
            return v === req.params.lang;
        });
        if (!!found) {
            res.redirect('/' + req.params[0]);
        } else {
            next();
        }
    });
    

    这将检查所有有效的语言,如果它识别出一种,它将从路径中删除语言并重定向到原始路径减去语言。否则它将继续到提供的路径。

    【讨论】:

      猜你喜欢
      • 2011-03-21
      • 1970-01-01
      • 2013-11-30
      • 2011-04-02
      • 1970-01-01
      • 2012-07-13
      • 2012-01-11
      • 2010-09-15
      • 2013-04-17
      相关资源
      最近更新 更多