AngularJS重写配置不适用于带参数的路由

时间:2019-01-11 16:01:54

标签: angularjs asp.net-mvc

我正在使用Visual Studio。在我的web.config中,我具有以下配置:

<rewrite>
            <rules>
                <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" />
                        <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/" />
                </rule>
            </rules>
        </rewrite>

我具有以下路线设置:

app.config(function ($routeProvider, $locationProvider) {
    $routeProvider
        .when("/entry/:id?", {
            templateUrl: 'Views/entry.html?' + $.now(),
            controller: 'entryController',
            controllerAs: 'vm'
        })

我可以转到index.html并从具有该参数的链接中导航到条目,但是如果我随后刷新该页面,则该页面会中断,因为我猜它没有被重定向回正确地路由的索引。我需要什么样的规则才能做到这一点?在此示例中,我有输入内容,但是有少数页面遵循完全相同的:id参数模式。

0 个答案:

没有答案