我正在尝试运行一个非常基本的Web服务器进行开发/debugging。 静态HTML似乎正确传递,但似乎JavaScript库没有被传递到浏览器。 页面的HTML说的是类似的东西
<html> <head> <script type='text/javascript' src="/lib/json.js"></script> ...
现在,我在httpd.conf中为/ lib /build立了一个链接,如下所示:
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似乎试图运行服务器上的JS文件,如CGI脚本或其他东西。 但是我还没有将该文件夹作为一个cgi-bin文件夹。 SomeFolder在SomeFolder中提到的唯一行在httpd.conf的这些行中:
Scriptalias /lib/ "/SomeFolder/lib/" <Directory "/SomeFolder/lib/"> Allow from all </Directory>
因为你正在使用ScriptAlias ,所以它像CGI脚本那样处理那个目录中的所有东西。 你想要使用的是Alias :
Alias /lib "/SomeFolder/lib"
安德鲁