Asp classic 在经典ASP中包含导致错误500的文件

Asp classic 在经典ASP中包含导致错误500的文件,asp-classic,Asp Classic,也许这是个愚蠢的问题,但我不明白为什么会发生这种情况 我必须对一个旧的、经典的ASP网站进行更新。其中一个请求是修改页脚,以便评论和建议可以在管理面板中更改与链接相关的电子邮件 这不是问题,所有页面上使用的原始页脚都添加为 </div> <!--#include file="../include/footer.htm"--> </body> …我得到一个错误500。我尝试在浏览器中使用web控制台,但没有其他信息,页面上也没有代码,只有将使用VBScript

也许这是个愚蠢的问题,但我不明白为什么会发生这种情况

我必须对一个旧的、经典的ASP网站进行更新。其中一个请求是修改页脚,以便评论和建议可以在管理面板中更改与链接相关的电子邮件

这不是问题,所有页面上使用的原始页脚都添加为

</div>
<!--#include file="../include/footer.htm"-->
</body>

…我得到一个错误500。我尝试在浏览器中使用web控制台,但没有其他信息,页面上也没有代码,只有将使用VBScript的声明。任何帮助都将不胜感激。我肯定这是我15年前就知道的愚蠢的事情,但我记不起来了,因为我从2002年起就没有接触过ASP。

首先检查IIS配置


错误500由web服务器引起,google可以找到关于此的信息

在iis 7中默认禁用父路径。这意味着如果在包含文件路径中使用“./”将出现错误

您可以在iis管理器中启用它们,也可以使用include virtual

<!--#include virtual="/root/include/footer.htm"--> 


您还可以使用iis管理器编辑服务器处理错误页面的方式,以便获得有用的调试文本,而不仅仅是500个内部服务器错误页面

如果将其设置为.asp或.inc页面,则我建议您将页面内容设置为:

<%
'code here
%>

将B.asp包含到A.asp中时:还要检查:B.asp不包含已在A.asp中声明的全局变量/函数

我知道您试图提供帮助,但这是一个无用的答案。感谢您的帮助父路径已启用。使用文件名为.htm的原始代码时没有问题。添加vbscript声明并将扩展名更改为.asp或.inc后会发生此错误。如果您丢失了vbscript声明但保留了.asp扩展名,会发生什么情况?当您使用include file语句时,您所做的是告诉服务器在创建脚本之前将include文件的文本复制并粘贴到asp脚本中跑因此,在你的脚本中有一个VBScript声明,就像在你的脚本中间有一个声明。嗨,约翰……我回到这里的页面来更新,显然VBScript声明引起了这个问题。我希望你能在6个小时前偶然来到这里,但我仍然感谢你。我认为你的回答是正确的,因为你至少提供了一些可能有人尝试的东西,然后就把它钉死了。这确实是一个愚蠢的错误。正如John在下面指出的,我差不多同时也明白了这一点,您不希望将脚本声明放入包含文件中。
<%
'code here
%>