0

我遇到了一个我找不到答案的问题。我正在使用 Express 作为我网站的框架,我正在使用它的路由,但它似乎弄乱了附加到页面的链接和文件。

这是我使用的:

app.get('/profile/:name/:age', function(req, res) {
  var name = req.params.name;
  var age = req.params.age;
  someFunction(name, age, function(error, profile) {
    res.render('userprofile', profile);
  });
});

页面呈现,但链接被破坏,而不是去 example.com/css/main.css 它去 example.com/profile/(无论我去什么名字)/css/main.css 所以这会返回 html 而不是css 文件。我的链接也一样。

请注意,我可以显示,启用 css 没问题:

app.get('/profile', function(req, res) {
  res.render('userprofile');
});
4

1 回答 1

3

听起来你正在为你的 CSS 使用相对 url:

<link rel="stylesheet" href="css/main.css">

如果当前(页面) url 是/profile/username/,则转换为:

/profile/username/css/main.css

解决方案?对资源和链接使用绝对 url:

<link rel="stylesheet" href="/css/main.css">
于 2013-10-13T06:50:59.187 回答