我创建了一个简单的angularjs应用程序。
这是我的配置:
app.config(function ($routeProvider, $locationProvider)
{
$routeProvider.when("/home", {
controller: "homeController",
templateUrl: "/views/home.html"
});
$routeProvider.when("/login", {
controller: "loginController",
templateUrl: "/views/login.html"
});
$routeProvider.otherwise({ redirectTo: "/home" }); // or notfound.html
$locationProvider.html5Mode(true);
});
并在我的index.html
<base href="/">
当我从index.html
(localhost / index.html)文件启动网站时,一切都很好。网址更改为localhost/home
或localhost/login
,并且每个工作都有效。
但是当我使用主页或登录网址时,我收到404错误。
答案 0 :(得分:1)
您需要让服务器参与处理404错误。
浏览器询问时, http://localhost/home
查找服务器或home.html上的主路径,但未找到404
当您在角度应用中选择一个链接时,它会加载index.html(应用)并路由到#/home
,然后将其重新发送到/home
您可以将服务器设置为将所有流量路由到/
,然后让应用处理路由。
在这里寻找类似的解决方案。 AngularJS Dynamic Routes Without Hashtag
修改强>
将404重定向到主索引Configuring custom ASP 404 page with redirect for IIS7 website
答案 1 :(得分:1)