2015-08-08 12 views
1

我正在使用Angular JS(版本1.3.2)的MVC 4應用程序。我面臨一個奇怪的問題,網址的行爲區分大小寫。區分大小寫的url問題 - Angular JS

例如,我有這方面的工作URL, HTTP:// www.abc.com/ 一個 PP2 /產品

但如果我改變這個網址 HTTP:// www.abc.com/ 一個 PP2 /產品然後失敗。我收到404頁未找到錯誤。

這裏我有設置爲'app2'的MVC項目的虛擬路徑屬性。 此外,在基本HTML頁面,我有一個底座作爲標籤,如果我繼續在此基礎路徑小寫

<base href="/app2"/> 

一切工作正常,但我把它改爲大寫的那一刻,它失敗。

我GOOGLE了一下,發現很多人抱怨使用Angular JS時發生的類似問題。

下面是聯繫我最有用的,

AngularJS + Base Href Case Sensitive?

AngularJS caseInsensitiveMatch not working

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

但是,所有這些解決方案似乎是瞄準角JS的一些具體的版本並不起作用在我的情況下(我修改了我的router.js文件,它不起作用)。

任何想法我該如何解決這個問題?

在最新版本的Angular JS中解決了這個問題嗎?

+0

給力不敏感的情況下。之後,角度路由只管理url的任何部分。聽起來像你有服務器配置問題沒有角 – charlietfl

+0

是否有任何管理大小寫敏感的配置?我沒有這樣的東西......我也沒有在服務器端做過任何特殊的改變。這只是正常的默認設置... –

+0

這就解釋了它,你需要配置服務器路由以允許在你的角度路由中使用html5mode – charlietfl

回答

0

AngularJS是區分sentisitive默認情況下,你需要根據基礎標籤的角度應用程序是在`app2`目錄添加caseInsensitiveMatch參數去你routeProvider配置

config(function ($routeProvider) { 
    $routeProvider. 
     when('/', { controller: 'TmpCtrl', templateUrl: '/app/home.html' }). 
     when('/foo', { controller: 'TmpCtrl', templateUrl: '/app/foo.html', caseInsensitiveMatch: true }). 
     otherwise({ redirectTo: '/' }); 
});