如何解决express js 在 res.sendFile 上发送禁止的 403
我遇到的问题是我试图从 Next.js 应用程序的主目录中访问 PHP
文件,所以我想要做的就是排除一个子路径来自 Next.js 应用程序,所以这是我在服务器 js 文件中写的内容:
const express = require('express')
const next = require('next')
const { parse } = require('url')
var path = require('path');
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()
app.prepare()
.then(() => {
const server = express()
server.get('*',(req,res) => {
const parsedUrl = parse(req.url,true)
const { pathname,query } = parsedUrl
if (pathname === '/blog') {
res.sendFile('../public_html/blog/index.PHP',{ root : __dirname});
} else {
return handle(req,res)
}
})
server.listen(3000,(err) => {
if (err) throw err
console.log('> Ready on http://localhost:3000')
})
})
.catch((ex) => {
console.error(ex.stack)
process.exit(1)
})
所有其他路由都工作正常,但是当我尝试访问 /blog
时,我收到错误 403 forbidden。我尝试了下面的解决方案,但错误只是更改为 not found
;
res.sendFile(path.resolve('../public_html/blog/index.PHP'),{ root : __dirname});
我想知道我是否做错了什么或不合适。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。