私はAngularを使い始めたばかりなので、これは一般的な初心者の間違いかもしれませんが、次のURL形式を実現しようとしています。
http://myapp.localhost/index.html#!/about
Angularのデフォルトはどれだと思いますか?
これは私の構成です:
angular.module('App', []).config(function($routeProvider, $locationProvider, VIEWS_ROOT) {
$locationProvider.html5Mode(false);
$locationProvider.hashPrefix = '!';
// Routing
$routeProvider.when('/', {templateUrl: './welcome.html', controller: 'WelcomeController'});
$routeProvider.when('/about', {templateUrl: './about.html', controller: 'AboutController'});
})
.run(function($rootScope) {
//...
});
私のhtmlには、次のような単純なアンカーがあります。
<a href="#!/about">About</a>
ただし、そのアンカーをクリックすると、作成されるURLは次のようになります。
http://myapp.localhost/index.html#/!/about
これは明らかに私のルートのいずれにも一致しません...ここで実際に起こっていること、または私が間違っていることについて少し困惑しています。私はvhostの下でローカルApacheインスタンスを実行しています。mod_rewriteには何も起こっていないので、Angularがこれを行っているように見えます。