【发布时间】:2019-04-07 09:36:19
【问题描述】:
大家可能都知道,在将 Angular 部署到根目录以外的路径时,资产路径存在问题:模板或样式表中存在的任何“/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
【问题讨论】:
-
设置
APP_BASE_HREF不起作用吗? -
不,这不是解决方案,我希望应用程序基于根目录'/'。
标签: angular iis url-rewriting