我一生中创建了几个IIS网站,但是几天前我的一个朋友要我托管他的网站,所以我在inetpub / wwwroot中创建了一个文件夹来存储它。
然后,我在我的默认网站中创建了一个虚拟目录(该文件夹出现在wwwroot上),并创建了应用程序,并允许脚本&可执行文件权限。此外,我已经设置了网站将具有的正确文档类型(default.aspx,asp等),该文件夹具有我通常授予的所有权限:iusr,iwmp,asp.net,network等。
当我重置IIS服务然后查看网站时(我也添加了标题)我收到以下错误:
您试图执行CGI, ISAPI或其他可执行程序 从一个不允许的目录 要执行的程序。
我一直在互联网上寻找一段时间,我发现的唯一一件事是允许可执行文件进入我的网站,我已经完成了。
但是,当我删除了asp.net页面并且我只添加了一个html文件时,它将显示在浏览器上。
有没有人对此有任何线索?
答案 0 :(得分:1)
进入IIS管理器下的Web Server Extensions文件夹,确保您已允许运行asp.net 2.0应用程序
答案 1 :(得分:1)
您的IUSR帐户需要您创建的目录的读/写权限。
答案 2 :(得分:0)
您获得的错误肯定意味着您的脚本执行权限不正确。在IIS管理器中,返回到相关文件夹并仔细检查相关文件夹/虚拟目录的“目录”选项卡上的设置。
你也应该尝试使用经典的ASP脚本(文件中只有<% Response.Write "Hello" %>
)来确保,但我确信结果是一样的。
如果仍有问题,请打开IIS元数据库(在C:\WINDOWS\system32\inetsrv\metabase.xml
中)并找到相关文件夹。要执行此操作,请搜索(假设您将网站置于默认网站下)以下字符串:
Location ="/LM/W3SVC/1/ROOT"
这应找到默认网站根目录的IIsWebVirtualDir
。它看起来像这样:
<IIsWebVirtualDir Location ="/LM/W3SVC/1/ROOT"`
AccessFlags="AccessRead | AccessScript"
AppFriendlyName="Default Application"
...other attributes...
>
</IIsWebVirtualDir>
向下滚动一下,直到找到与您将朋友网站放入的文件夹相匹配的位置路径,例如。
Location ="/LM/W3SVC/1/ROOT/JoesSite"
如果您发现了这一点,请查看AccessFlags
属性,它应该如下所示:
AccessFlags="AccessRead | AccessScript"
告诉我们您在该元数据库节点上看到的内容。
答案 3 :(得分:-1)
嗯,因为它是一个网站,而不是一个Web应用程序,它似乎不能用作虚拟目录,但它确实是一个IIS网站。
谢谢。
布赖恩
答案 4 :(得分:-1)
打开iis。然后在左窗格中选择应用程序池。在池中选择指定的站点。单击并打开高级设置,然后根据需要更改.NET版本