如何相对于快速应用程序根目录进行重定向



我想制作我的应用程序,以便它可以安装在/以外的某个位置。当我阅读 express-4.x res.redirect()的文档时,它说我有三个选择:

  1. 绝对 URI ( http://example.org/path/nested (
  2. 主机相对 ( /path/nested (
  3. 相对 ( nested (

我没有看到任何应用程序相对重定向的选项。

如何在另一个应用中装载应用的示例:

'use strict';
const express = require('express');
const app = express();
module.exports = app;
const subApp = express();
app.use('/subApp', subApp);
subApp.get('/blah/*', (req, res) => {
    if (/dee$/.test(req.url)) {
        res.end('end');
    } else {
        res.redirect('dee');
    }
});

如何重定向到subApp的根 URI,而无需 subApp 中的代码知道其挂载点?也许有一种方法可以从req中的信息构建它?

您可以使用

req.baseUrl手动执行此操作(我使用的是express-4.x(。例如:

subApp.get('/blah/*', (req, res) => {
    if (/dee$/.test(req.url)) {
        res.end('end');
    } else {
        res.redirect(req.baseUrl + '/dee');
    }
});

最新更新