Я пытаюсь перенаправить пользователя на страницу обслуживания, пока я работаю на сайте, но по какой-то причине он делает это, только если у меня есть что-то, кроме базового URL в браузере. Пример: на клиенте, если я перехожу на http://example.com/
, он загружает страницу, но если я перехожу на http://example.com/somewhere-else
, он правильно перенаправляет на страницу обслуживания. Как я могу прослушивать и перехватывать ВСЕ HTTP-запросы независимо от пути и правильно их маршрутизировать? xxx.xxx.xxx.xxx
представляет мой IP-адрес. Я проверил это на своем компьютере и на моем телефоне с отключенным Wi-Fi (используя сотовую связь).
const express = require('express');
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));
app.get('/ping', function (req, res) {
return res.send('pong');
});
app.get('*', function (req, res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
if (ip.substr(0, 7) == "::ffff:") {
ip = ip.substr(7)
}
if (ip == "xxx.xxx.xxx.xxx") {
res.sendFile(path.resolve(__dirname, 'build', 'index.html'));
}
else {
res.sendFile(path.resolve(__dirname, 'build', 'construction.html'));
}
});
app.listen(process.env.PORT || 80);