首页 > 解决方案 > Javascript 在与 HTML 不同的文件夹中

问题描述

我是网络开发的新手。我有将文件存储在不同文件夹中的问题(出于安全原因)。这是返回错误的索引页面

<head>
   <script src="../scripts/script.js"></script>
</head>
<body>
   <?php include "../php/page.php"; ?>

   Other code here...
</body>

我的文件结构如下

www/
   html/
      index.php

   scripts/
      script.js

   php/
      page.php

我不明白为什么包含 php 文件有效(提供的示例代码中的第 5 行)并且包含 javascript 无效(第 2 行)。我猜你对这个错误感兴趣,所以这就是谷歌浏览器的控制台所说的

Failed to load resource: the server responded with a status of 404 (Not Found)

它还显示了该资源的链接,并且它似乎在寻找 my.server.address/scripts/script.js 就像它不关心 ../ 部分一样。有人可以解释这种行为吗?

标签: javascripthtml

解决方案


PHP 解析计算机文件系统上的路径。

Web 浏览器解析 URL 上的路径。

您的 HTTP 服务器在文件系统上有http://my.server.address/映射。www/html

所以从...../scripts/script.js上升一级到(因为那是顶部),然后下降到再下降到。///scripts/scripts/script.js

浏览器向 HTTP 服务器请求,/scripts/script.js并将其映射到文件系统 -www/html/scripts/script.js并返回 a 404,因为该文件不存在。

浏览器只能读取网络服务器将发送给它的数据,并且通过将目录保留在scripts文档根目录之外,您无法通过网络服务器使其可用。


推荐阅读