Как вы все, возможно, знаете, при развертывании Angular к пути, отличному от root, существует проблема с путем к активу: любой путь '/ assets', существующий в ваших шаблонах или таблицах стилей, не имеет префикса пути развертывания.
Я хочу написать правило перезаписи IIS, которое проверяет, существует ли путь /assets/...
в моем пути развертывания и, если да, соответствующим образом переписывает URL. Например, допустим, у меня есть актив на /assets/1.jpg
, а мой URL-адрес развертывания - /ui/
. Я хочу переписать правило, которое принимает URI запроса, добавляет к нему префикс /ui
, проверяет, является ли это действительным файлом файловой системы и, если да, , переписывает запрос uri на /ui/assets/1.jpg
.
Я попробовал следующее, но я знаю, что это не работает:
<rule name="angular asset" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="/ui/{REQUEST_URI}" matchType="IsFile" />
</conditions>
<action type="Rewrite" url="/ui/{R:1}" />
</rule>
Как правильно написать такое правило?
Уточнение Я хочу, чтобы правило перезаписи работало для любого пути префикса, а не только для /assets