我已经实现了一个解决方案来解决我的Angular 应用程序中页面刷新时的404错误。为此,我将以下代码放在IIS上我的网站文件夹中的web.config文件中:
<rule name="AngularJS 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>
这段代码可以成功的处理像“/blog”这样的静态路由,但是不能处理像“/blog/category:categoryName”这样的路由。希望你能帮助我;我挣扎了几个月...
下面是使用参数化路线刷新页面时出现的错误示例:
2条答案
按热度按时间6l7fqoea1#
我建议在项目中创建页面404,并将其添加到app-routing. module. ts中。
示例代码片段如下:
在上面的代码中,它会将试图访问除所提供的路由之外的任何页面的用户重定向到Pagenotfound组件。
Path: '**'
中的**在Angular中表示通配符路由。这表示任何与您配置中的现有路由不匹配的路由都将使用此路由。o4tp2gmn2#
启用失败请求跟踪以获取URL重写规则失败的详细信息,另一种方法是设置自定义错误页,如下所示: