Я хочу защитить папку и ее содержимое, перенаправив пользователя обратно к индексу.Проложите всю папку и ее содержимое
Я пробовал это, но он работает только частично.
var express = require('express');
var path = require('path');
var http = require('http');
var app = express();
app.set('port', 8080);
app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, 'views')));
app.get('/', function(req, res) {
res.render('index.ejs');
});
app.get('/protected/*', function(req, res, next) {
res.redirect('/');
next();
});
//activating server
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
Эти маршруты, например, "локальный: 8080/защищенный" и "локальный: 8080/защищенный/ASDF", но не "локальный: 8080/защищенный/otherPage.html".
В этом случае asdf не является фактическим файлом, а otherPage.html является. Поэтому, если файл там, он не перенаправляет, но если он не является, он перенаправляет. Почему это?
Это работало для перенаправления. Я использовал «jQuery.get» для добавления частей html в индекс для его создания. Однако это решение предотвращает это. Что значит разделение статических элементов на отдельные папки? – Waltari
, если вы ставите свои статические элементы (css, images и т. Д.) В другую папку: 'app.use ('/ static /', express.static (path.join (__ dirname, 'static'))); нет никакого риска, что вы можете позволить своим файлам .ejs загружаться как-то –