アプリで HTML5 モードを有効にしたいと考えています。ここに示すように、構成用に次のコードを配置しました。
return app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix = '!';
$routeProvider.when('/', {
templateUrl: '/views/index.html',
controller: 'indexCtrl'
});
$routeProvider.when('/about',{
templateUrl: '/views/about.html',
controller: 'AboutCtrl'
});
ご覧のとおり、 を使用し、 の$locationProvider.html5mode
すべてのリンクをng-href
を除外するように変更しました/#/
。
問題
現時点でlocalhost:9000/
は、インデックス ページに移動して表示し、 のような他のページに移動できますlocalhost:9000/about
。
ただし、localhost:9000/about
ページを更新すると問題が発生します。次の出力が得られます。Cannot GET /about
ネットワークコールを見ると:
Request URL:localhost:9000/about
Request Method:GET
一方、最初にlocalhost:9000/
移動してから、ナビゲートするボタンをクリックすると、次のようになり/about
ます。
Request URL:http://localhost:9000/views/about.html
ページを完全にレンダリングします。
更新時に角度を有効にして正しいページを取得するにはどうすればよいですか?