如何在apache2中设置JS源目录?

如何在apache2中设置JS源目录?

我正在尝试运行一个非常基本的 Web 服务器进行开发/调试。静态 HTML 似乎已正确交付,但 JavaScript 库似乎未交付到浏览器。页面 HTML 的内容如下

<html>
<head>
  <script type='text/javascript' src="/lib/json.js"></script>
...

现在,我已经在 httpd.conf 中为 /lib/ 设置了一个链接,如下所示:

Scriptalias /lib/ "/SomeFolder/lib/"

当我执行此操作时,它无法获取文件,因为这是我在 apache 错误日志中看到的内容:

... [error] [client ::1] client denied by server configuration: /SomeFolder/lib/json.js, referer: http://localhost/SomeSite

看来 apache 不允许访问该文件夹,因此我将其添加到 httpd.conf:

<Directory "/SomeFolder/lib/">
    Allow from all
</Directory>

在此之后,浏览页面仍然无法运行 JS,相反,我在 apache 错误日志中看到以下错误:

[error] [client ::1] (13)Permission denied: exec of '/SomeFolder/lib/json.js' failed, referer: http://localhost/SomeSite

所以现在,apache 似乎正在尝试像 cgi 脚本之类的东西一样在服务器上运行 JS 文件。但我没有将该文件夹设为 cgi-bin 文件夹。唯一SomeFolder提到名称的行是在 httpd.conf 中的这些行中:

Scriptalias /lib/ "/SomeFolder/lib/"
<Directory "/SomeFolder/lib/">
    Allow from all
</Directory>

答案1

因为您使用的是ScriptAlias,所以它会将该目录中的所有内容视为 CGI 脚本。您需要使用的替代方法是Alias

Alias /lib "/SomeFolder/lib"

安德鲁

相关内容