我正在使用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
)中打开页面时。我的css
和js
的路径未得到遵守:
<link href="dist/bundle.min.css" rel="stylesheet">
如何解决此路径相关问题?在生产服务器上使用sendFile
提供页面是否安全?
答案 0 :(得分:2)
我相信您需要在href
链接前加上转发:
<link href="/dist/bundle.min.css" rel="stylesheet">
由于/
被解释为主机名的根目录:
dist/bundle.min.css
与路径相关。/dist/bundle.min.css
相对于根。编辑:对。如果指定基数,则将根设置为该基数。 :)