Angular 5 在 URL ( IIS 8.5) 使用 DNS shortName 时重写规则

Angular 5 rewrite rule when using DNS shortName for URL ( IIS 8.5)

我正在使用短名称(DNS 条目)来映射我的 angular 5 应用程序 URL。 应用程序托管在 IIS 中,如下图所示, 我已将应用程序的路径映射到一个名为 "arcm" 的短名称。 所以那一刻,我在浏览器地址栏中输入这个短名称,我看到了我的默认路由。

但问题是, 如果我在任何路线上刷新它,我都会看到 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>

以下更改解决了我的问题,

<?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>