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

时间:2013-03-31 14:41:55

标签: asp-classic

也许这是一个傻瓜问题,但我无法弄清楚为什么会发生这种情况。

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

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

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

如果我在这里添加输入代码

enter code here&lt;%@ LANGUAGE =“VBSCRIPT”%&gt;

到页面顶部并将扩展名更改为.inc或.asp,将原始页面修改为:

</div>
<!--#include file="../include/footer.inc"--> (or .asp)
</body>

...我收到错误500.我尝试在浏览器中使用Web控制台,但没有其他信息,页面上没有代码,只有声明将使用VBScript。任何帮助将不胜感激。我确信这是我15年前所知道的愚蠢,但是我记不清自从2002年以来我没有触及ASP。

4 个答案:

答案 0 :(得分:5)

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

http://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-parent-paths-are-disabled-by-default

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

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

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

答案 1 :(得分:0)

首先检查IIS配置

ERROR 500由网络服务器引起,谷歌可以找到关于此的

答案 2 :(得分:0)

如果您将其设置为.asp或.inc页面,那么我建议您像这样设置页面内容:

<%
'code here
%>

答案 3 :(得分:0)

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