我正在开发一款Unity 3D游戏,该游戏在为Windows构建时会生成game.exe和game_Data文件和文件夹。 Game_Data文件夹包含一个名为** Game_Data \ Mono \ etc \ mono \ 2.0 **。
的目录目录文件显示在图像中。
浏览器目录包含一个名为 Compact.browser的文件。
当前情景。 1.这些游戏文件托管在运行IIS 7.5的服务器上。 游戏资源文件在游戏网站的虚拟目录中提供。
我对网站的根web.config文件进行了一些更改,因此只允许在服务器上的游戏资源文件夹中下载所有文件类型。
是的,包括.html,.aspx,.xml,.config,.browser,.map等在内的所有文件类型都作为普通文件下载。
问题
在您看到目录结构时,游戏资源文件夹中有一个web.config文件。该文件与网站配置无关,但与游戏有关(下载后在客户端)。
由于文件作为单个文件提供,因此每个文件都是单独下载的。因此,当客户端尝试下载包括上述文件夹内容的所有文件时。
由于此web.config文件,目录的内容未下载。如果我删除此web.config文件,则会下载所有.aspx,.config,.map文件。还有一些其他文件夹可以正确下载许多不同的文件。
但是这个web.config文件也是游戏所必需的,并且它不允许在上面显示的目录中与其他文件一起下载。
我试图调查解决方案。找到一些提示以避免嵌套配置文件中的继承。但实际上我想将此文件完全视为普通文件,而不是网站配置文件。
我认为你遇到了我的问题。请让我知道你的建议。你可以说添加Mime类型。但是实际上所有的文件类型都在下载,包括.config文件。除了名为web.config的文件。
答案 0 :(得分:4)
我遇到了同样的问题,我认为我找到了解决方案的一半:有一种方法可以告诉IIS不要解释web.config文件。
要执行此操作,请修改C:\Windows\System32\inetsrv\config\applicationHost.config
文件(我还没有找到在IIS用户界面中执行此操作的方法),为相关allowSubDirConfig="false"
指定<virtualDirectory>
元素:
<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>
有关详细信息,请参阅http://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory。
问题是,它仍然不会让你下载web.config文件,它会一直返回404 - Not found,即使在删除所有处理程序之后也是如此。
您是否曾设法找到解决方案?
修改 - 找到解决方案。简短的回答是,在您的web.config中,您应该清除fileExtensions
和hiddenSegments
列表:
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<clear />
</hiddenSegments>
<fileExtensions>
<clear />
</fileExtensions>
</requestFiltering>
</security>
我写了blog article about it来解释所有细节。