【问题标题】:Can't I put my javascript files outside html public folder?我不能将我的 javascript 文件放在 html 公用文件夹之外吗?
【发布时间】:2016-01-20 21:13:19
【问题描述】:

我正在关注this tutorial 创建一个安全的登录系统。我的文件夹逻辑如下:

/var/www/html/mysite/ # html folder is public (here goes index.php, etc)
/var/www/includes/    # includes is hidden (login details, etc)
/var/www/js/          # js is also hidden, as stated on the tutorial

当我说“如教程中所述”时,我指的是这段话:

将此文件的副本存储在根目录下名为“js”的目录中 应用程序目录。

我解释对了吗? js文件夹应该在html里面,而不是www?有什么不同?在我的代码中,我有这样的行:

include_once '../../includes/db_connect.php';
include_once '../../includes/functions.php';

<script type="text/JavaScript" src="../../js/sha512.js"></script> 
<script type="text/JavaScript" src="../../js/forms.js"></script> 

虽然 php 包含运行良好,但 javascript 不包含。 Firefox 检查员在抱怨:

GET http://localhost/js/sha512.js         [HTTP/1.1 404 Not Found 0ms]

为什么考虑到我的 js 文件夹在 html 文件夹中,而不是我告诉它的地方?

【问题讨论】:

  • .. 取决于使用它的文件的文件位置。看起来您的 HTML 文件位于 html 文件夹内,因此返回两次会将您带到根目录而不是www。尽管为了获得一个明智的答案,您需要向我们展示该 HTML 文件和 PHP 文件在您的目录中的位置。
  • 使用绝对路径:如果 / 是服务器的根目录,则使用 ../../js/forms.js 代替 /var/www/js/forms.js
  • 文件位置是/var/www/html/mysite/,所以../../是对的,就像php包含的一样。
  • @Rodrigo 尝试给出相对于你的服务器根目录的绝对路径。
  • @Rodrigo 这并不意味着它是正确的。特别是如果您的 HTML 文件和 PHP 文件位于不同的位置。

标签: javascript html include


【解决方案1】:

我会尝试将 JS 放在 html 文件夹中并像这样链接到它。 &lt;script type="text/JavaScript" src="js/forms.js"&gt;&lt;/script&gt;

【讨论】:

  • 是的,我把 js 文件夹改成 html 文件夹,然后我做了 src="../js/forms.js" 就可以了。
【解决方案2】:

如果www 文件夹是根目录(即用于http://your-url/ 的文件夹),那么您可以执行以下操作:

<script src="/js/sha512.js"></script> 
<script src="/js/forms.js"></script> 

前导/ 表示“从网站的根目录开始”。

如果html 文件夹是您的根目录,您需要将js 文件夹移动到html 文件夹中 - 您仍然可以使用上面显示的脚本标签。

浏览器请求JavaScript文件,您网站根目录以外的文件夹禁止向公众开放。您的 PHP 文件已加载到服务器上,这意味着您可以查看一般公众无法访问的文件。

【讨论】:

  • html 是我的公用文件夹,显示为 localhost(尚未开发)。问题是,为什么服务器“找到”公共文件夹之外的 php 文件,而不是 javascript 文件?
  • 我为此添加了一段。您可以从服务器访问 PHP 文件,但不能从浏览器访问。 JavaScript 文件由浏览器请求,它只允许查看您公开的文件(通过将它们放在 web 根文件夹中)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-05
  • 2014-05-24
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
相关资源
最近更新 更多