区分大小写的网址问题 - Angular JS

时间:2015-08-08 06:15:15

标签: angularjs asp.net-mvc-4 angular-ui-router

我正在使用Angular JS(版本1.3.2)开发MVC 4应用程序。我面临一个奇怪的URL行为区分大小写的问题。

例如我有这个工作的URL, http:// www.abc.com/app2/products

但如果我将此网址更改为 http:// www.abc.com/App2/products然后失败。我找不到404页错误。

这里我将MVC项目的虚拟路径属性设置为' app2'。 此外,在基本HTML页面中,我有一个基本标记为

<base href="/app2"/>

如果我将此基本路径保持为小写,那么一切正常,但是当我将其更改为大写时,它会失败。

我用谷歌搜索,发现许多人抱怨使用Angular JS时出现类似问题。

以下是我最有用的链接,

AngularJS + Base Href Case Sensitive?

AngularJS caseInsensitiveMatch not working

https://github.com/angular/angular.js/issues/4056

但是所有这些解决方案似乎都针对某些特定版本的Angular JS而且在我的情况下不起作用(我修改了我的router.js文件并且它没有工作)。

任何想法如何解决这个问题?

最新版本的Angular JS中是否解决了此问题?

1 个答案:

答案 0 :(得分:0)

默认情况下,AngularJS是大小写的,您需要通过向caseInsensitiveMatch config

添加routeProvider param来强制不区分大小写
config(function ($routeProvider) {
    $routeProvider.
        when('/', { controller: 'TmpCtrl', templateUrl: '/app/home.html' }).
        when('/foo', { controller: 'TmpCtrl', templateUrl: '/app/foo.html', caseInsensitiveMatch: true }).  
        otherwise({ redirectTo: '/' });
});