Express提供的404页面的相对path

我正在使用Express服务404页面:

server.use(function(req, res, next) { res.status(404).sendFile('404.html', { root: __dirname + BASE }) }) 

404.html位于网站的根目录中,如果我尝试在根目录( http://mywebsite.com/asd )上打开一个不存在的页面,所有内容都是完美无缺的。

问题是当我尝试打开其他文件夹( http://mywebsite.com/asd/asd )内的页面。 我的cssjs的path不受尊重: <link href="dist/bundle.min.css" rel="stylesheet">

如何解决这个path相关的问题? 在生产服务器上使用sendFile服务页面是否安全?

  • 如何使用mysql连接和node.js池中的单身devise模式
  • gmstream标准输出pipe道抛出未处理的错误
  • expressjs socket.io端口3000已经在使用中
  • 在使用Angular的单页面应用程序引擎时,依靠socket.io/express.io中的“disconnect”事件
  • node-sass-middleware只提供一次css文件
  • 从服务器端获取客户端的variables(express.js,node.js)
  • 不提供静态文件
  • 如何用MongoDB改变数组的顺序?
  • 我相信你需要在你的href链接前面有一个forwardslash:

     <link href="/dist/bundle.min.css" rel="stylesheet"> 

    as /被解释为主机名的根目录:

    • dist/bundle.min.css是相对于path。
    • /dist/bundle.min.css是相对于根。

    编辑:对。 如果您指定一个基地,那么根被设置为该基地。 🙂