我有AngularJS 种子项目,我已经添加了
$locationProvider.html5Mode(true).hashPrefix('!');
到 app.js 文件。我想将 IIS 7 配置为将所有请求路由到
http://localhost/app/index.html
所以这对我有用。我该怎么做呢?
更新:
我刚刚发现、下载并安装了IIS URL Rewrite 模块,希望这将使实现我的目标变得容易和明显。
更新 2:
我想这总结了我想要实现的目标(取自AngularJS Developer 文档):
使用这种模式需要在服务器端重写 URL,基本上你必须重写所有指向应用程序入口点的链接(例如 index.html)
更新 3:
我仍在努力,我意识到我不需要重定向(有重写的规则)某些 URL,例如
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
因此不会重定向 css、js、lib 或 partials 目录中的任何内容。其他所有内容都需要重定向到 app/index.html
任何人都知道如何轻松实现这一点而无需为每个文件添加规则?
更新 4:
我在 IIS URL 重写模块中定义了 2 个入站规则。第一条规则是:
第二条规则是:
现在,当我导航到 localhost/app/view1 时,它会加载页面,但是支持文件(css、js、lib 和 partials 目录中的文件)也被重写到 app/index.html 页面 - 所以一切都来了无论使用什么 URL,都返回 index.html 页面。我想这意味着我的第一条规则,即应该防止这些 URL 被第二条规则处理,不起作用..有什么想法吗?...任何人?...我感觉很孤独... :-(