SkipTyler
@SkipTyler
Junior+ Front-End developer

Как правильно сделать редиректы на nodejs?

Всем привет.
У меня есть приложение vue + ssr

Собственно сам ssr обеспечивает сервер node.

На нем пытаюсь сделать нужные мне редиректы.
Первый из них, это 301 редирект с урла со слешем, на урл без слеша.

Попытался сделать так,
const fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;
const stripTrailingSlash = url => url.replace(/\/$/, "");
const urlArray = fullUrl.split('');

res.setHeader("Content-Type", "text/html");
res.setHeader("Server", serverInfo);

if (urlArray[urlArray.length - 1] === '/') {
    res.writeHead(301, {'Location': stripTrailingSlash(fullUrl)});
    res.end();
}


Но что-то то тут явно не то, при загрузке страницы сначала я вижу пустую страницу, а после уже нужную.

Так же у меня есть локализация приложения.
Есть 2 локали, прим /en, /ru

Хочу сделать так, что в случае, если локали в урле нету, прим domain.com, то делать 301 редирект на domain.com/ru

Примерно понимаю как это написать, но если делать редирект, то в консоле пишет, что превышено количество редиректов(
В итоге я понял, что сделал не правильно.
Прошу у Вас подсказки, совета, как сделать правильно.

Тут мой server.js
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы