我有一个运行IIS 7.5的Windows 2008 R2服务器。 我想为我的网站设置一个虚拟目录,以允许从另一个域中的服务器上的文件共享下载视频文件。 我有一个域用户名和密码,允许我访问此文件共享。 但是,当我尝试在 IIS 中设置虚拟目录时,我收到以下错误消息:
HTTP 错误 500.19 - 内部服务器错误
无法访问请求的页面,因为该页面的相关配置数据无效。
- 模块:IIS Web Core
- 通知:
BeginRequest
- 处理程序:尚未确定
- 错误代码:
0x8007052e
- 配置错误:无法读取配置文件
- 配置文件:
\?UNCz27ar1cfvs004.abc.sevideo$web.config
- 请求的网址:http://localhost:8080/Video
- 物理路径:
\z27ar1cfvs004.abc.sevideo$
- 登录方法:尚未确定
- 登录用户:尚未确定
奇怪的是,我可以在我的虚拟目录上点击"探索",IIS 将启动资源管理器向我显示文件。
对于我网站的身份验证设置,我启用了基本和 Windows 身份验证设置。
以下是我尝试过不成功的事情:
- 更改站点的"连接身份..."用户以使用域用户凭据
- 更改虚拟目录的"连接身份..."用户以使用域用户凭据
- 更改网站的应用程序池标识以使用域用户帐户凭据
- 在 IIS 服务器上使用与域服务器上相同的用户名/密码创建本地用户帐户,然后再次尝试上述所有 3 个步骤,但仅指定用户名而不是域\用户名
- 更改托管管道模式:集成和经典都没有任何区别
我已经用谷歌搜索,直到我的眼睛变得模糊,并花了几个小时尝试许多推荐的建议,但都无济于事。
如何解决这个问题?
我找到了几种解决此问题的方法,具体取决于您的问题所在:
- 实际上在共享目录中创建一个
web.config
文件。 - 在主
web.config
中创建一个<location path="video" inheritInChildApplications="false" />
元素,以指定不允许虚拟目录web.config
设置覆盖其父目录。 - 在您的网站中设置一个包含
web.config
的真实目录,并使用URL重写工具对实际内容进行一组重写。 - 如果已为站点启用自定义 HTTP 模块,请为该目录关闭该模块。例如,如果模块不必在静态文件上运行,请在
web.config
或applicationHost.config
中添加precondition="managedHandler"
到其设置中。