【问题标题】:Serving CSS from relative paths that extends above the URL root?从 URL 根之上的相对路径提供 CSS?
【发布时间】:2019-09-26 21:24:26
【问题描述】:

我有一个 html 文件在:

src/test/html/index.html

还有css:

src/test/css/index.css

从 html 文件中加载 CSS:

<link rel="stylesheet" type="text/css" href="../css/index.css">

当我从根项目目录运行 http-server 并导航到页面时,此方法有效:

http://127.0.0.1:8080/target/test/html/

但是在提供 html 目录内容时,index.html 会像这样出现在根目录中:

http://127.0.0.1:8080

CSS 未加载。我认为这是因为浏览器不理解导航(实际上我们试图导航到根路径之外)。

有什么办法可以在不移动文件的情况下解决这个问题,以便 CSS 将通过此 URL 提供服务:

http://127.0.0.1:8080

【问题讨论】:

  • 不,这是不可能的。您不能超越域根目录 - 这甚至不会产生 sense。如果您想保留该文件系统目录结构,您可以设置别名或使用重写来使 域根目录指向该位置的路径。

标签: html css browser cross-browser


【解决方案1】:

HTML、Javascript 和 CSS 是“客户端语言”。在客户端机器上运行。 PHP、ASP、Ruby 等是在服务器上运行的服务器端语言。

这里的问题是你给了 html 到 css 文件的链接。结果,当在客户端处理 html 时,它没有权限(也不能被授予)访问服务器上公共目录之外的任何文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多