这是一个相当普通的asp错误,一般是由以下原因造成:
在我们使用多种方式去解决这个问题之前,让我们看一下这个错误本身.
像完整的错误消息?任何一个可能导致这个问题的原因都会使我们得到如下消息:
Active Server Pages 错误 'ASP 0201'
错误无效的默认脚本语言
该应用程序地应的默认脚本语言无效
这错误通常是由IIS不识别的"不支持的脚本语言"引起的.现在怎么修复它呢?
尝试以下步骤:
1.确认在IIS中定义了合适的脚本语言.(进入IIS管理-选中站点-属性-主目录-配置-选项-默认ASP语言),确认默认ASP语言设置为 VBScript(默认)或JScript(如果你更喜欢javascript脚本)
2.注意如果你的代码中首行含有<%Language="language"%>将覆盖上边的设置,所以仔细检查以保证你没有拼写
错误.它应该是<%Language="VBScript"%>
3.有时,脚本引挚不完整的DLL注册也会造成这个问题,请下载最新版的脚本引挚试试.
4.现在,我们需要确认在安装脚本引挚时没有注册某些DLL文件,例如,你可以按以下方式去尝试注册DLL:
regsvr32 %windir%\system32\VBscript.dll
regsvr32 %windir%\system32\JScript.dll
regsvr32 %windir%\system32\Inetsrv\Asp.dll
5.继续,如果你到此还没有解决这个问题,那看起来像是许可权引起了该问题.
例如:使匿名用户访问网站的 iusr_计算机名 这个用户没有相关DLL的读权限,可以尝试将(4)中的DLL文件
======!!!!!!!!!!!!!!!!!=======………………………==========
进一步观察发现只有Asp的页面会这样提示,htm正常!百思不得其解,Google AND Baidu之!
网上的解决方法都如出一辙。重装IIS,删除xxx...,重装系统!
除重装系统外其它都度过,无一可行!
最后自己悟出了一个解决方法,但不知道是否有什么副作用!献出来大家伙看看!
其实很简单:只要将系统用户中的IUSR_xxx(xxx示你的系统而定,就是Internet 来宾帐号 )加到Administrators组中!再重启IIS服务就可以了!这种方法适用于本机调试程序,服务器上不建议使用,因为还不知道是否有安全问题!
另一种方法是网上找到的:右击站点,权限向导-下一步,S-S完成!这样访问时就要使用账号密码访问了,通过认证后Asp也可正常解析,但很不方便,这种方法对服务器来说也解决不了问题!
以下是收集到的几种解决方法,我试过是不行,但也有人说可以的,所以你也可以试试看!
方法一
在运行里面regsvr32 /u scrrun.dll
regsvr32 scrrun.dll
另,如果还是不行,可以试试把iis卸载,然后把wwwroot目录删除,重新安装IIS.
方法二
1、删除“internet信息服务”,
2、重启机子,按F8进入“安全模式”,
3、在安全模式下将“C:\Inetpub”、“c:\windows\iis6.log”、“c:\windows\system32\inetsrv”这几个东西重命名。
4、重启机子,在正常模式下安装“internet信息服务”,安装完毕删除重命名文件。
5、如果还不能解决问题,打开“internet信息服务”,“重新启动IIS”。
方法三
1、单击开始,指向程序,指向管理工具,然后单击 Internet 信息服务。
2、在控制台树中,单击默认 Web 站点。在显示窗格中,右键单击 默认 Web 站点,然后单击属性。
3、在目录安全性选项卡的匿名访问和身份验证控制中,单击编辑。
4、在身份验证方法属性页中,单击去掉匿名访问的勾。
5、确定。
-------#####################-----------------***********************************************----------
1.停止IIS;
2.在运行中输入反注册命令 regsvr32 /u vbscript.dll,提示成功后进入第3步;
3.进入 c:\windows\system32 目录,找到 vbscript.dll
4.直接剪切,之后复制到桌面或者其他地方(其实删除也可以,不过还是为了防止意外!);
5.之后在运行中输入注册命令 regsvr32 vbscript.dll,提示成功后进入第6步;
6.成功注册后你可以进入 c:\windows\system32 目录,之后寻找 vbscript.dll ,如果你找到了这个文件的话,
恭喜你,在启动IIS后你又可以运行ASP文件了,大功告成!
备注:
以上方法是实现IIS的默认脚本语言为VB的,如果你的默认脚本语言是Java,请将 vbscript.dll 替换为 jscript.dll 即可!
此方法是我自己亲身测试过的,如果你用此方法依然不行的话,那估计就得重新安装系统或者GHOST了
------=================-----------------------++++++++++++++++++++++++------------------------
网上搜索了一下,大多都是让卸载IIS后去安全模式什么什么的,如果问题仍然没解决,可以尝试此简单方法:
方法及实现:
1.停止IIS;
2.在运行中输入反注册命令 regsvr32 /u vbscript.dll,提示成功后进入第3步;
3.在运行中输入反注册命令 regsvr32 /u %windir%\system32\Inetsrv\Asp.dll,
提示成功后进入第4步;
4.进入 c:\windows\system32 目录,找到 vbscript.dll ,直接剪切,之后粘贴到桌面或者其他地方
(其实删除也可以,不过还是为了防止意外!);
5.进入 c:\windows\system32\Inetsrv 目录,找到 asp.dll ,直接剪切,之后粘贴到桌面或者其他地方
(其实删除也可以,不过还是为了防止意外!);
6.启动IIS;
7.访问ASP站点,注意看屏幕提示,如果出现:错误 '8002801d' 的话,执行第8步;否则执行第9步;
8.在运行中输入注册命令 regsvr32 %windir%\system32\Inetsrv\Asp.dll,提示成功后进入第9步;
9.在运行中输入注册命令 regsvr32 vbscript.dll ,提示成功后进入第10步;
10.重新运行ASP站点,注意看屏幕提示,如果你已经成功的话那就不用说啦,如果到这里你还不成功,执行第11步;
11.在IIS的设置中,把你的站点的“匿名访问”去掉,方法自己BAIDU,这里不强调,去掉后刷新页面,如果提示
需要用户名和密码,请输入你的最高权限用户的用户名和密码,之后重新执行第1步;
备注:
1.以上方法是实现IIS的默认脚本语言为VB的,如果你的默认脚本语言是Java,请将 vbscript.dll 替换为 jscript.dll 即可;
此方法是我自己亲身测试过的,如果你用此方法依然不行的话,那估计就得重新安装系统或者GHOST了;
2.以上方法我自己亲身测试过,目前没有发现任何不良反映,一切正常;
3.如果执行了第11步,问题解决了,但是访问必须要用户名和密码,这种方法一般人都不能接受,但是也说明了一个问题,
跟你的系统用户权限有关,可以适当调整了 IUSR_计算机名 用户的权限以后即可,具体调整方法自己测试了!
本文作者:佚名 来源:http://qyzyd.blog.hexun.com/4326040_d.html
CIO之家 www.ciozj.com 微信公众号:imciow