Файлы IIS 10 - JSON не обслуживаются даже после настроенных MIME и обработчиков - PullRequest
0 голосов
/ 19 марта 2020

Я развернул веб-приложение в сборке IIS 10 (Windows 10) с узла.

Структура файлов

Files structure
Я не могу получить доступ к файлам JSON (например, http://localhost: 3000 / manifest. json) по прямому URL.

Получив следующую ошибку,
Error Я установил MIME Type следующим образом:

MIME Type - JSON Я тоже пробовал отображение обработчика,

Handler Mapping for JSON
Мой web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Static Assets" stopProcessing="true">
          <match url="([\S]+[.](html|htm|svg|js|css|png|gif|jpg|jpeg|json))" />
          <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>
    <handlers>
      <add name="StaticFileModuleJson" path="*.json*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
    </handlers>
    <directoryBrowse enabled="true" />
  </system.webServer>
</configuration>

1 Ответ

0 голосов
/ 19 марта 2020

Я заметил, что ваше правило перезаписи переписано. json в. js. Он не имеет ничего общего с обработчиком, поскольку обработчик файлов stati c все еще обрабатывает запрос.

enter image description here enter image description here

Поменяйте местами индексы js и json.

 <rule name="Static Assets" stopProcessing="true">
      <match url="([\S]+[.](html|htm|svg|json|css|png|gif|jpg|jpeg|js))" />
      <action type="Rewrite" url="/{R:1}" />
    </rule>

enter image description here

...