html5mode给出404未找到

时间:2015-07-15 07:51:02

标签: angularjs iis asp.net-web-api

我正在尝试从AngularJS应用中的网址中删除主题标签。我正在使用Web API 2.0来检索一些数据。这就是我所做的:

在我的app.js

app.config(function($routeProvider, $locationProvider) {
        $routeProvider
            .when("/products", {
                templateUrl: "app/products/productListView.html"
            })
            .when("/products/:id", {
                templateUrl: "app/products/productInfoView.html" 
            })
            .otherwise({ redirectTo: "/products" });

        $locationProvider.html5Mode(true);
});

我还在{strong> index.html 中添加了<base href="/">

当我转到http://localhost:49767/并使用链接从那里导航时,它工作正常。

例如,点击某个产品会将我带到http://localhost:49767/products/5并正确加载信息。但是,如果我直接转到http://localhost:49767/products或直接转到特定产品,我会从IIS中找到404找不到错误。

我错过了什么?

2 个答案:

答案 0 :(得分:3)

您必须将服务器配置为使用html5mode。

ASP.Net C#重写

在Global.asax

java -cp "<path to your jar>;<path to dependency 1>;<path to dependency 3>[;...]" <your main class>

有关详细信息,请参阅this link

答案 1 :(得分:0)

在我的应用中,我的方式是:

删除$locationProvider.html5Mode(true);

<a href="#/products/1">1</a><a href="#/products/2">2</a>