У меня проблемы с обработкой запросов, когда пользователь запрашивает URL-адрес HTML-файла. Например, если пользователь ищет localhost: 8080 / profile - он будет перенаправлять их на страницу входа, если они не вошли в систему, однако если он ищет localost: 8080 / profile.html, он всегда будет перенаправлять их в profile.html. ,
По сути, я хочу иметь возможность обрабатывать запросы, когда они ищут файлы HTML напрямую.
Когда я пытаюсь использовать экспресс с:
app.get("/profile", function(req, res) {
// Handle req here
}
или
app.get("/profile.html", function(req, res) {
// Handle req here
}
ни один из них не вызывается, когда пользователь ищет /profile.html.
Все html-страницы хранятся в / public /, и ниже приведен код, относящийся к настройке экспресс-сервера.
let express = require("express");
let https = require("https");
let path = require("path");
const bodyParser = require('body-parser');
let fs2 = require("fs");
let httpsOptions = {
cert : fs2.readFileSync(path.join(__dirname, 'SSL', 'server.cert')),
key : fs2.readFileSync(path.join(__dirname, 'SSL', 'server.key'))
}
let port = 3443;
let root = "./public"
let server = express();
server.use(bodyParser.json());
server.use(session({secret:"qwertyuiop", resave:false, saveUninitialized:true}));
var staticPath = path.join(__dirname, '/public');
server.use(express.static(staticPath));
start();
async function start() {
try {
https.createServer(httpsOptions, server).listen(port, function() {
console.log('[SERVER] STATUS: Express HTTPS server on listening on port 3443');
});
}
catch (err) { console.log(err); process.exit(1); }
}