【发布时间】:2015-10-16 09:14:44
【问题描述】:
我正在使用 angularjs 在 .net mvc 中开发应用程序。当我不使用 html5 模式时,它工作正常,但是当我将 html5 模式设置为 true 时,服务器调用该地址给我一个找不到资源。
这是我的 app.js
var app = angular.module("myApp", ['ngRoute'])
.config(function ($routeProvider, $locationProvider) {
$routeProvider.when('/test',
{
templateUrl: 'templates/TestPage.html',
controller: 'ProfesionalController'
});
$routeProvider.otherwise({ redirectTo: '/' });
$locationProvider.html5Mode(true);
});
这是我的观点(布局):
<!DOCTYPE html>
@Scripts.Render("~/bundles/modernizr")
<script src="~/Scripts/angular/angular.js"></script>
<script src="~/Scripts/angular/angular-route.js"></script>
<script src="~/app/app.js"></script>
<script src="~/app/home/home.js"></script>
<script src="~/app/profesional/profesional.js"></script>
<base href="/">
<a href="test">Test</a>
@*this is the link*@
</div>
</div>
</div>
<div ng-app="myApp" class="container body-content">
<div ng-view></div>
@RenderBody()
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
当我点击测试链接时,服务器尝试定位: http://localhost:39881/test" 给我一个 404 Not Found - http://localhost:39881/test"
我错过了什么。它在没有 html5 模式的情况下运行良好。
【问题讨论】:
-
您是否为 html5mode 配置了服务器?您阅读过 html5mode 的文档吗?
-
是的,我读过,但我不确定我必须做什么
-
我尝试使用这个
但仍然不起作用 -
在搜索引擎中为 IIS 找到正确的配置应该不难。也使用基本标签
-
您需要配置您的服务器,以便它以
index.html响应所有请求(图像、css、js 文件等静态资源除外)。
标签: javascript asp.net-mvc angularjs html