JSON文件的IIS 10 HTTP响应404

JSON文件的IIS 10 HTTP响应404,json,http-status-code-404,iis-10,Json,Http Status Code 404,Iis 10,我有一个JSON文件,它不会从IIS 10提供服务。当我浏览到它时,它总是返回404.0错误。我已经检查了IIS日志,请求的路径是正确的。文件位于web目录结构中的指定位置。MIME Type.json已添加为application/json。我用两种不同的方法完成了这项工作,一种是使用IIS管理控制台,另一种是使用remove(删除)和添加标记将其添加到Web配置中 我还添加了其他文件类型,PNG,html的权利,它旁边的同一目录,以相同的权限。它们装载得很好。JSON文件名为translat

我有一个JSON文件,它不会从IIS 10提供服务。当我浏览到它时,它总是返回404.0错误。我已经检查了IIS日志,请求的路径是正确的。文件位于web目录结构中的指定位置。MIME Type.json已添加为application/json。我用两种不同的方法完成了这项工作,一种是使用IIS管理控制台,另一种是使用remove(删除)和添加标记将其添加到Web配置中

我还添加了其他文件类型,PNG,html的权利,它旁边的同一目录,以相同的权限。它们装载得很好。JSON文件名为translation-en.JSON

我已经搜索了stackoverflow,寻找类似的问题,并尝试了我能找到的一切。我曾与供应商合作过需要使用fetch加载文件的组件。尝试了他们所有的建议

我最近的一次尝试是安装失败的请求跟踪,并将其配置为使用详细输出记录400-999的所有响应,但我什么也得不到。如果我能把它做好,我也许能学到一些东西。但是没有运气

Fiddler只是显示了来自服务器的一个简单的404响应

我正在使用MS URL重写模块来处理路由。其配置如下:

    <rewrite>
      <rules>
        <rule name="Static Assets" stopProcessing="true">
          <match url="([\S]+[.](html|htm|svg|js|json|css|png|gif|jpg|jpeg))" />
          <action type="Rewrite" url="/{R:1}" />
        </rule>
        <rule name="ReactRouter Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/index.html" />
        </rule>
      </rules>
    </rewrite>

单击test.png可以正常工作。单击任何其他.json会导致404错误


我完全处于停顿状态。帮助?

这是通过更改URL中静态内容的匹配模式来解决的,因此json优先于js

断开的配置:
([\S]+[.](html | htm | svg | js | json | css | png | gif | jpg | jpeg))

工作配置:
([\S]+[.](html | htm | svg | json | js | css | png | gif | jpg | jpeg))

完成“重写配置”部分:

    <rewrite>
      <rules>
        <rule name="Static Assets" stopProcessing="true">
          <match url="([\S]+[.](html|htm|svg|json|js|css|png|gif|jpg|jpeg))" />
          <action type="Rewrite" url="/{R:1}" />
        </rule>
        <rule name="ReactRouter Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/index.html" />
        </rule>
      </rules>
    </rewrite>


如果我不使用URL重写模块直接访问json文件,会不会出现404问题?谢谢@DingPeng。删除URL重写配置可修复此问题。我将研究配置文档以确定原因。谢谢你帮我实现目标!解决方案是更改URL重写模式的顺序,使其与json之前的json相匹配。