私は、codeigniter PHP フレーム作業で angularJs1.2 を使用しています。次のようにangularJSルーティング機能を使用しています:
var app = angular.module('app', ['ngAnimate', 'ngRoute']).config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/profile/personalInfo', {templateUrl: '<?php echo base_url().'profile/personalInfo' ?>', controller: personalInfo});
$routeProvider.when('/profile/myPlaces', {templateUrl: '<?php echo base_url().'profile/myPlaces' ?>', controller: myPlaces});
$routeProvider.otherwise({redirectTo: '/'});
$locationProvider.html5Mode(true);
}]);
ご覧templateUrl
のとおり、 のような codeigniter パスによってロードされますbase_url().'profile/personalInfo'
。しかし、ユーザーはこのパスを介して部分ページに直接アクセスできますが、これは望ましくないため、codeiginter ルーティングを使用して、次のように部分ページに直接アクセスできないようにしました。
$route['profile/(:any)'] = 'profile/index/$1';
しかし、ページをルーティングするコードイグナイターを設定すると、ホールページではなく、角度自体の内部で無限のリダイレクトループに移動します。codeiginter ルーティングを削除すると正常に動作しますが、部分ページにもアクセスできます。どうすればこの問題を解決できますか?