Angular url IIS 问题
Angular url problems on IIS
我将我的 dot net core 3.1 api 和 angular 9 应用程序部署到 IIS 中。 Api 效果很好。当我点击 url 进行登录时,它运行良好并带我进入了我的仪表板。 http://192.168.15.12:8020/ePortal/home.
之后当我点击我的其他组件时说我想去颜色。当我点击颜色时,urls 是 http://192.168.15.12:8020/home/color-details instead of http://192.168.15.12:8020/ePortal/home/color-details,这就是它显示 404(未找到)错误的原因。
我已经使用 ng build --prod --base-href /ePortal/
构建了作品,还添加了一个 web.config 来重写 url
<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="/ePortal/" />
<!--<action type="Rewrite" url="/" /> /ePortal/-->
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我无法确定问题所在。请帮忙
这是一个 angular 路由问题。您正在使用相对路径,但您需要为此使用绝对路径。尝试在您的路由器链接之前添加“/”。
示例:使用 routerLink = "/color" 代替 routerLink = "color"
更新
使用这个
<a mat-list-item href="color-details">Color</a>
解决方案
您不能将不同的路径目录重定向到 angular,因此您需要为其添加自定义
示例:
<a href="home/color-details">Color</a>
我将我的 dot net core 3.1 api 和 angular 9 应用程序部署到 IIS 中。 Api 效果很好。当我点击 url 进行登录时,它运行良好并带我进入了我的仪表板。 http://192.168.15.12:8020/ePortal/home.
之后当我点击我的其他组件时说我想去颜色。当我点击颜色时,urls 是 http://192.168.15.12:8020/home/color-details instead of http://192.168.15.12:8020/ePortal/home/color-details,这就是它显示 404(未找到)错误的原因。
我已经使用 ng build --prod --base-href /ePortal/
构建了作品,还添加了一个 web.config 来重写 url
<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="/ePortal/" />
<!--<action type="Rewrite" url="/" /> /ePortal/-->
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我无法确定问题所在。请帮忙
这是一个 angular 路由问题。您正在使用相对路径,但您需要为此使用绝对路径。尝试在您的路由器链接之前添加“/”。
示例:使用 routerLink = "/color" 代替 routerLink = "color"
更新
使用这个
<a mat-list-item href="color-details">Color</a>
解决方案
您不能将不同的路径目录重定向到 angular,因此您需要为其添加自定义
示例:
<a href="home/color-details">Color</a>