无法包括潜在的执行官

时间:2017-02-22 04:36:19

标签: javascript html apache

我们的应用程序中有一个html文件,我们正在使用head标签

<script language="javascript" src="/javascript/page.js"></script>
<script language="javascript">
  <!--#include virtual="/folderpath/abc.js"-->
</script>

加载html文件后如果看到视图源,我发现以下错误 &#34;处理此指令时发生错误&#34; 在apache错误日志中我得到&#34;无法在解析文件中包含潜在的exec abc.js .....&#34;

我在浏览谷歌后添加了以下内容,修改了apache服务器的httpd.conf

<Directory /folderpath/>
  Options +Includes +ExecCGI
  AllowOverride All
</Directory>

但我没有发现任何变化。我不确定我错过了什么。 在这方面,任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

我最近在使用Apache 2.4的文件中遇到了以下问题:

<!--#include virtual="example.sql"> 

该文件位于此规则下的目录树中:

<Directory /home/*/public_html>
    Options MultiViews Indexes FollowSymLinks IncludesNoExec
</Directory>

这是默认设置,但我想对/home/some_user/public_html以下的文件覆盖它。将以下内容添加到Apache 2.4配置中可以正常工作,并允许#include运行。

<Directory /home/some_user/public_html>
    AllowOverride All
    Options -IncludesNOEXEC +Includes
</Directory>

请参见Apache 2.4 mod_include

有趣的是,该文件在Apache2.2下工作,所以我想知道规则是否更改。我希望这对您有用!

不久之后,我找到了另一种解决方案,该解决方案适用于.sql文件,但可能不适用于.js文件。它还说明了Apache 2.2和Apache 2.4之间的区别。在Apache 2.2中,默认的httpd.conf文件具有:

DefaultType text/plain

这就是为什么我可以轻松添加.sql文件的原因。但是该指令已在Apache 2.4中删除。因此,我通过添加以下内容解决了该问题:

<FilesMatch "\.sql$">
    ForceType text/plain
</FilesMatch>

请参见Apache 2.4 ForceType