diff --git a/src/controllers/authentication.js b/src/controllers/authentication.js index d1a3173417..f45cce94fc 100644 --- a/src/controllers/authentication.js +++ b/src/controllers/authentication.js @@ -164,15 +164,15 @@ authenticationController.registerComplete = async function (req, res) { const done = function (data) { delete req.session.registration; - + const relative_path = nconf.get('relative_path'); if (data && data.message) { - return res.redirect(`${nconf.get('relative_path')}/?register=${encodeURIComponent(data.message)}`); + return res.redirect(`${relative_path}/?register=${encodeURIComponent(data.message)}`); } if (req.session.returnTo) { - res.redirect(nconf.get('relative_path') + req.session.returnTo); + res.redirect(relative_path + req.session.returnTo.replace(new RegExp(`^${relative_path}`), '')); } else { - res.redirect(`${nconf.get('relative_path')}/`); + res.redirect(`${relative_path}/`); } }; diff --git a/test/controllers.js b/test/controllers.js index 46fbd8ddb4..e95840bf7b 100644 --- a/test/controllers.js +++ b/test/controllers.js @@ -413,7 +413,7 @@ describe('Controllers', () => { }); assert.strictEqual(res.statusCode, 302); - assert.strictEqual(res.headers.location, '/'); + assert.strictEqual(res.headers.location, `${nconf.get('relative_path')}/`); }); });