Необходимо перенаправить URL-адреса предварительно обработанного приложения React на IIS - PullRequest
0 голосов
/ 27 марта 2019

В настоящее время у меня есть приложение React, созданное с помощью create-Reaction-app, размещенное на IIS. Большинство переписываний URL сделано и работает очень хорошо, за исключением того факта, что теперь я использую библиотеку реагировать на привязку для предварительного рендеринга контента. Мне нужно выяснить, как перенаправить URL-адреса, чтобы указать место, где находится HTML-файл (это в основном для целей SEO), например, www.mysite.com/blog, чтобы перенаправить 301 на www.mysite.com/blog/

Итак, все, что я думаю, это добавить косую черту в конец URL. Интересно, что такое же развертывание приложения прекрасно работает на сервере apache с точки зрения получения разделяемых ссылок и допустимых мета-тегов для SMO и SEO, но в IIS это не работает вообще.

Вот часть файла web.config:

<rewrite>
  <rules>
<rule name="Static Assets" stopProcessing="true">
      <match url="([\S]+[.](html|htm|svg|js|css|png|gif|jpg|jpeg))" />
<conditions logicalGrouping="MatchAll">
  <add input="{REQUEST_URI}" negate="true" pattern="^/api$" ignoreCase="true" />
    </conditions>
      <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" />
         <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
      </conditions>
      <action type="Rewrite" url="/index.html" />
    </rule>
  </rules>
</rewrite>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...