如何允许web.config文件作为普通文件,并允许在虚拟目录中下载IIS

如何允许web.config文件作为普通文件,并允许在虚拟目录中下载IIS,iis,iis-7,iis-7.5,Iis,Iis 7,Iis 7.5,我正在开发一款Unity 3D游戏,该游戏基于Windows生成game.exe和game_数据文件和文件夹。Game\u Data文件夹包含一个名为**Game\u Data\Mono\etc\Mono\2.0**的目录 目录文件如图所示 浏览器目录包含一个名为Compact.browser的文件 目前的情况。 1.这些游戏文件托管在运行IIS 7.5的服务器上。 游戏资源文件位于游戏网站的虚拟目录中 我对网站的根web.config文件做了一些更改,这样所有文件类型都只允许在服务器上的“游戏

我正在开发一款Unity 3D游戏,该游戏基于Windows生成game.exe和game_数据文件和文件夹。Game\u Data文件夹包含一个名为**Game\u Data\Mono\etc\Mono\2.0**的目录

目录文件如图所示

浏览器目录包含一个名为Compact.browser的文件

目前的情况。 1.这些游戏文件托管在运行IIS 7.5的服务器上。 游戏资源文件位于游戏网站的虚拟目录中

我对网站的根web.config文件做了一些更改,这样所有文件类型都只允许在服务器上的“游戏资源”文件夹中下载

是的,包括.html、.aspx、.xml、.config、.browser、.map等在内的所有文件类型都作为普通文件下载

问题

正如您看到的目录结构一样,game resources文件夹中有一个web.config文件。该文件与网站配置无关,但与下载后位于客户端的游戏有关

由于这些文件作为单独的文件使用,因此每个文件都是单独下载的。因此,当客户端尝试下载包括上述文件夹内容在内的所有文件时

由于此web.config文件,目录的内容无法下载。如果删除此web.config文件,则所有.aspx、.config、.map文件都将下载。还有一些其他文件夹,其中许多不同的文件正在正确下载

但是这个web.config文件也是游戏所必需的,它不允许与上面显示的目录中的其他文件一起下载

我试着研究解决办法。找到了一些避免嵌套配置文件中继承的提示。但实际上我想把这个文件完全当作一个普通文件,而不是一个站点配置文件


我想你有我的问题。请告诉我你的建议。您可以说添加Mime类型。但实际上所有的文件类型都在下载,包括.config文件。除了名为web.config的文件之外。

我遇到了相同的问题,我想我找到了解决方案:有一种方法可以告诉IIS不要解释web.config文件

为此,请修改C:\Windows\System32\inetsrv\config\applicationHost.config文件我在IIS用户界面中找不到这样做的方法,方法是为相关元素指定allowSubDirConfig=false:


我已经写了一篇解释所有细节的文章。

不,我所做的是,我将所有以web.config开头的文件重命名为web2.config或其他文件,下载文件后,我会将其重命名回web.config。但这不是一个解决方案。这只是一个解决办法。@KumarChikkanna我找到了解决方案,请参阅我的更新答案和我的博客。@KumarChikkanna如果这是解决方案,你能打勾吗?这样,其他人可以看到这个问题的答案。
<configuration>
  <system.applicationHost>
    <!-- ... -->
    <sites>
      <site name="Default Web Site" id="1">
        <application path="/">
          <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
          <virtualDirectory path="/Staging" physicalPath="C:\inetpub\wwwroot\Staging" allowSubDirConfig="false" />
        </application>
    <bindings> <!-- ... --> </bindings>
  </site>
<system.webServer>
  <security>
    <requestFiltering>
      <hiddenSegments>
        <clear />
      </hiddenSegments>
      <fileExtensions>
        <clear />
      </fileExtensions>
    </requestFiltering>
  </security>