我们的应用程序中有一个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>
但我没有发现任何变化。我不确定我错过了什么。 在这方面,任何人都可以帮助我。
答案 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>
有趣的是,该文件在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>