Html 没有当前目录的相对路径

Html 没有当前目录的相对路径,html,linux,google-chrome,firefox,Html,Linux,Google Chrome,Firefox,大家好,我有一个带有以下标记的html文件: <link rel="stylesheet" href="/lib/css/classic.css"> 问题是,当我在浏览器中打开文件时,它会抱怨找不到classic.css文件,而是在将当前目录添加到href开头时: <link rel="stylesheet" href="./lib/css/classic.css"> 它只是工作,更糟糕的是,我有一堆类似的文件,每个文件都有几十个这样的相对路径。我如何解决这个

大家好,我有一个带有以下标记的html文件:

<link rel="stylesheet" href="/lib/css/classic.css">

问题是,当我在浏览器中打开文件时,它会抱怨找不到classic.css文件,而是在将当前目录添加到href开头时:

<link rel="stylesheet" href="./lib/css/classic.css">


它只是工作,更糟糕的是,我有一堆类似的文件,每个文件都有几十个这样的相对路径。我如何解决这个问题?

讽刺的是,这与非常相似

目前您正在使用
localhost
,因此CSS文件是从
文件://
协议加载的。当您将代码移动到托管网站时,链接将自动解析为根相对前缀(
/

为了让他们在
localhost
上工作,您有许多选项:

  • 利用子域。根被认为是子域的根。也就是说,
    site.localhost
    将解析链接
    /lib/css/classic.css
    (尽管
    localhost/site
    不会)。在这种情况下,您需要将服务器配置为使用
  • 使用相对的
    ,使用
    。/
    向上遍历。这可能看起来像:
  • 只需使用大量遍历,以确保命中文档根,并从那里开始工作:
  • 设置一个并使用以下位置的相对链接:


我建议自己使用第四个选项,尽管可能需要一些调整。

你的基本href是什么?也许问题就在这里。你是否试图将同一个CSS文件加载到多个HTML文件中?如果是这样,您将需要一个根相对(或绝对)路径,就像您发布的第一个链接一样。你的根文件夹是什么?假设您有
site.com/lib/css
/lib/css/classic.css
将从您调用它的任何文件中工作。如果你想为每个HTML文件加载不同的CSS文件,你需要列出它们之间的关系。基本目录是/var/www/my_project/public/听起来像你的
DocumentRoot
/var/www/my_project/public
。在这种情况下,
/lib/css/classic.css作为
应该可以从
public
中的任何文件中工作。最好使用
F12调试器
console窗口找出CSS文件的加载位置。如果你需要“突破”并进入一个文件夹,不要忘记你可以使用
。/
。你好,黑曜石时代谢谢你的评论浏览器正在尝试从根目录获取Css文件这是从我的控制台:获取file:///lib/css/classic.cssThank 你说的很有帮助我真的很感激你的回答