我正在尝试使用URL重写在IIS中部署angular 6项目(具有延迟加载模块路由)。下面是我的文件夹结构
和下面是我的web.config文件
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular 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="/" />
</rule>
</rules>
<outboundRules>
<rule name="CDN_ReWrite_Images" enabled="true" preCondition="IsHtml" stopProcessing="true">
<match serverVariable="HTTP_ACCEPT_ENCODING" pattern="^(.*)/(assets)/(.*)" />
<action type="Rewrite" value="http://localhost:4300/{R:3}" />
<conditions>
</conditions>
</rule>
<preConditions>
<preCondition name="IsHtml" logicalGrouping="MatchAny">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
角度路线工作正常。此处的问题是当我的应用程序尝试访问资产文件夹的内容时,它会将资产包括为URL的一部分。我尝试如下创建出站规则以忽略资产文件夹。但这行不通。
理想的路线应该是
http://localhost:4300/json/data_list.json
相反,它尝试访问
http://localhost:4300/assets/json/data_list.json
让我知道我在这里做错了什么。谢谢