【问题标题】:How to work with files above server root directory in a website如何处理网站中服务器根目录上方的文件
【发布时间】:2020-12-17 09:08:50
【问题描述】:

我已将文档根目录配置为 public_html 文件夹的 apache 服务器,我想将我的 css 文件保存在上述目录中,如下代码

<head>
  <meta charset="utf-8">
  <title>Name</title>
  <link rel="stylesheet" type="text/css" href="../css/login_page.css">
</head>

使用上面的代码,我没有得到与 css 相关的样式更改,但如果我将 css 文件保存在 public_html 文件夹中并将其更改为

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

似乎没有问题。我想知道如何使第一个代码工作。

【问题讨论】:

    标签: html css apache server


    【解决方案1】:

    也许是关于缓存?您是否尝试过清除 cahce 并重新加载页面?

    【讨论】:

      【解决方案2】:

      对我来说,这似乎是不可能的,apache 服务器只能在您的public_html 中发送文件。(出于安全原因) 除了服务器端,您的浏览器将请求一个不在域中的文件。

      唯一的解决方案是在您的public_html 中。

      编辑: 您使用的唯一文件是上面的配置文件的 php 文件,apache 永远不会使用高于 public_html 的文件

      【讨论】:

      • 所以我只能用php访问上面的文件
      • 是的,但是没有一个 css 文件,因为浏览器直接询问 apache 服务器而不是 ndex.php 文件。
      • 但是我在想一个非常糟糕的解决方案……你的 php 可以获取所有的 css 并将其直接放入 html 中,你不必写这一行` `。但这不是一个好的解决方案。最好的解决方案是让public文件夹中的css文件
      【解决方案3】:

      这对我来说不够清楚,但如果您的问题是浏览器中的 css 文件在您编辑时没有更新,解决方案是禁用您网站的缓存
      在任何浏览器中:devtools -> network -> disable cache checkbox
      example image

      【讨论】:

      • 不错的条件答案,当您没有评论权限时,这是一个很好的工具。 “如果问题是……那么解决方案就是……”。
      • 我想在 html 中使用高于服务器根目录的文件
      • 不幸的是,由于存在安全风险,这并非不可能或很难做到。想象一下,任何人都可以浏览存储在您服务器上的文件
      【解决方案4】:

      您不能引用public_html 文件夹之外的文件和文件夹。因此文件夹的名称。这是设计使然,如果可能的话,这将是一个BIG安全风险。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-11
        相关资源
        最近更新 更多