Правило перезаписи Angular 5 при использовании DNS shortName для URL (IIS 8.5) - PullRequest
0 голосов
/ 04 мая 2019

Я использую короткое имя (запись DNS) для сопоставления моего углового URL-адреса приложения.Приложение размещено в IIS, как показано на рисунке ниже, я сопоставил путь к приложению с коротким именем, называемым «arcm».Итак, в тот момент, когда я набираю это короткое имя в адресной строке браузера, я вижу маршрут по умолчанию.

enter image description here

Но проблема в том, что, если я обновлю его на любом маршруте, я вижу ошибку 404.Ниже приведен мой файл web.config и правило перезаписи,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
 <rewrite>
      <rules>
        <clear />
          <rule name="AngularJS" stopProcessing="true">
          <match url="arcm/" />
          <action type="Rewrite" url="http://arcm/" appendQueryString="false"/>
        </rule>
      </rules>
    </rewrite>

    </system.webServer>
        </configuration>

1 Ответ

0 голосов
/ 04 мая 2019

следующие изменения решают мою проблему,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
 <rewrite>
      <rules>
        <clear />
        <rule name="Http Redirection" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
          <match url="*" negate="false" />
          <conditions logicalGrouping="MatchAny">
                        <add input="{HTTP}" pattern="off" />
          </conditions>
          <action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" />
        </rule>
        <rule name="AngularJS" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{URL}" negate="true" pattern="\.axd$" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>


    </system.webServer>
   </configuration>
...