与许多其他干净的角度URL重写一样,在像localhost:3000/profile
这样干净的网址上刷新页面时,我收到GET /profile 404
错误。我一直在尝试使用Express Rewrite发送index.html
文件,但据我所知,我没有index.html
发送,因为直到{{1}才会呈现} route。
我在index.js
中尝试了以下内容:
app.js
并接收app.all('/*', function(req, res, next) {
// Just send the index.html for other files to support HTML5Mode
res.sendFile('index.html', { root: __dirname });
});
我的目录看起来像this image here,我可以看到根目录中没有index.html文件。我尝试了Error: ENOENT: no such file or directory, stat 'C:\xampp\htdocs\healthyu\healthyu\index.html'
,views/index.html
和views/index.ejs
没有运气,views/index
实际上提示download when I refreshed the page。
有没有办法使用Express成功重写URL,或者在views/index.ejs
文件中使用mod重写会更成功吗?
答案 0 :(得分:0)
所以我需要做的是更改我的所有服务器请求,这些请求是API请求使用/api
前缀,所以get /api/posts
以减少与get /posts
的冲突,这是{原始API调用和视图名称以及其他冲突。
我的index.html
文件是在我的快递routes/index.js
文件中生成的,因此每当我尝试导航到与主入口点不同的网址时,我只需要确保使用该文件。代码的相关部分如下所示:
var index = require('./routes/index');
var users = require('./routes/users');
app.use('/', index);
app.use('/api', index);
app.use('/users', users);
app.use("/*", index);