我有一个现在运行良好的网站。网站文件的位置(在我的服务器中)位于
C:\Hosting Spaces\admin\www.mysite.com
它可以通过来自http://app.mysite.com的 URL 访问
现在我们正在改造整个网站,但仍希望用户访问旧网站。所以我们把内容从
C:\Hosting Spaces\admin\www.mysite.com to C:\Hosting Spaces\admin\2014.mysite.com
并使其可通过虚拟目录访问。我将虚拟目录的别名配置为 2014,因此该站点应该可以通过转到http://app.mysite.com/2014和物理路径来访问,当然,C:\Hosting Spaces\admin\2014.mysite.com . 我将连接设置为应用程序用户(通过身份验证),但是当我想测试连接时,出现以下问题。无论如何,我只需单击确定。
现在我无法通过http://app.mysite.com/2014访问虚拟目录,因为它会一直显示
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
请帮忙!
更新:另一个信息,如果我尝试使用服务器自己的 IE 访问该站点,它会返回一个更具描述性的错误,如下所示:
所以我试图从我的 web.config 中删除红线,但它只是继续在其他行显示错误。我想如果我删除所有行,我的网站将无法正常工作
对于第一个问题,您需要确保应用程序池身份和任何模拟身份都具有对站点文件的读取权限。
对于第二个问题,您需要记住,
web.config
虚拟目录中的文件继承自父目录(包括根站点)中的配置文件。有些设置可以覆盖根配置中的设置,有些则不能。如果你想要和 root 一样的 config,你可以删除虚拟目录中的 config。如果要将其保留在虚拟目录中,则可能需要禁用配置继承。有关此信息,请参阅此 SO 帖子:https ://stackoverflow.com/questions/782252/avoid-web-config-inheritance-in-child-web-application-using-inheritinchildapplic 。