我有一个现有的快速应用程序,我用于API,但我也想提供一个带有HTML文件和一些图像/ css / js的文件夹。我可以将其设置为HTML页面,但是我会在/
处这样做,而我只希望它在/manual
处提供。这是我的简化代码,只有express.static
,我的/
路由,并且所有重定向都转移到/
const app = express();
app.use(express.static('manual'));
app.get('/', (req, res) => {
res.status(403);
res.send('Access denied.');
return;
});
app.get('*', (req, res) => {
res.redirect(301, '/');
return;
});
目前发生了什么:转到mysite.com/manual
重定向到mysite.com/
,该index.html
为manual
文件夹中的mysite.com/manual
提供。
我想要发生的事情:index.html
转到manual
文件夹中的mysite.com/
。转到Set wkbk1 = Workbooks("3rd Party.xlsm")
会抛出403状态代码。
答案 0 :(得分:0)
中间件/处理程序按您声明的顺序应用,因此您只需更改顺序
const app = express();
app.get('/', (req, res) => {
res.status(403);
res.send('Access denied.');
return;
});
// adding a first parameter lets you apply the middleware to a route
app.use('/manual', express.static('manual'));
app.get('*', (req, res) => {
res.redirect(301, '/');
return;
});