2017-05-28 24 views
0

我想讓我的應用程序可以安裝在/以外的某個位置。當我讀到快遞-4.x版的res.redirect()的文檔,它說我有三種選擇:如何相對於快速應用程序根重定向?

  1. 絕對URI(http://example.org/path/nested
  2. 主機相對(/path/nested
  3. URI相對(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的信息構建它?

回答

0

您可以使用req.baseUrl(我正在使用express-4.x)手動執行此操作。例如:

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