代码之家  ›  专栏  ›  技术社区  ›  Aviad P.

部署url资源路径

  •  0
  • Aviad P.  · 技术社区  · 6 年前

    大家可能都知道,将Angular部署到根以外的路径时,asset path有一个问题:模板或样式表中存在的任何'/assets'路径都不会以部署路径作为前缀。

    我想写一个IIS重写规则来检查 /assets/... /assets/1.jpg /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

    1 回复  |  直到 6 年前
        1
  •  -1
  •   Mohsin Mehmood    6 年前

    ng b --deploy-url /ui/
    

    尝试如下更新重写规则

    <rule name="angular asset" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_URI}" pattern="(.*)"/>
        </conditions>
        <action type="Rewrite" url="/ui/{R:1}" />
    </rule>