Итак, я перехожу на сайт типа /subsite
с определенным URL-адресом, который содержит ключевой параметр:
https://my.server.com/premiumSite?key=secretKey
или
https://my.server.com/premiumSite.html?key=secretKey
Я бы хотел определить, является ли параметр key
"secretKey" .Если это так, я бы хотел отправить пользователю файл (не перенаправлять!) с именем premiumSite.html .Если ключ какой-то другой, я бы хотел перенаправить пользователя на сайт index.html , чтобы не дать пользователю доступ к моему сайту.
Вся процедура работает абсолютнохорошо - но (конечно) есть одна проблема:
Функция res.sendFile()
(как я хочу) вообще не меняет URL -что также влияет на параметры.
Так как я могу вызвать sendFile()
, но одновременно удалить параметр «ключ» из URL (не используя локальный js)?
let app = express();
app.use('/premiumSite(.html)?',function(req, res) {
let isPremiumUser = req.query.key === "secretKey"; // check if URL parameters are matching
if (isPremiumUser) res.sendFile("www/premiumSite.html", {root: __dirname});
else res.redirect("www/index.html");
})