2016-10-18 6 views
1

Visual StudioでTypescript SPAプロジェクトを作成しようとしていますが、AngularJSを使用してルーティングを処理しています。ここに私の設定があります...方法:Refresh AngularJS Route

var app = angular.module("myApp", ["ngRoute"]); 
app.config(($routeProvider, $locationProvider) => { 
$routeProvider 
    .when("/", { 
     templateUrl: "/pages/index/index.html" 
    }) 
    .when("/about", { 
     templateUrl: "/pages/about/about.html" 
    }) 
    .otherwise({ redirectTo: '/' }); 

$locationProvider.html5Mode(true); 
}); 

これはURLが私の望むように見えるので、これはうまくいきます。しかし、ページをリフレッシュすると、メインページか約ページかによってエラー404またはエラー403が表示されます。正しいページをリフレッシュできるようにするにはどうすればよいですか?

答えて

1

これはサーバー側のことですが、サーバーがサーバー内の通常のパスであるかのようにURL全体を処理しています。 index.htmlをターゲットに設定する必要があります。そうしないと、サーバーはwww.myserver.com/aboutページを常に見つけようとします。あなたのURLが見つからないか、ディレクトリの場合にアクセスが禁止されているため、404ステータスコードが生成されます。

+0

私はサーバー側を作るために決めた1ページごとに別々のルートを作成する必要がありますか?このサーバー側、IIS、Apacheなどをどうやってお勧めしますか? – chuloon

+0

@chuloon URLが要求されていないインデックスページを常にターゲットにするようにサーバー側のテクノロジを構成する必要があります。どのサーバーサイドハンドラを使用していますか? Apache、IIS、node.js? –

+0

私は実際に何かバックエンドを使うのは非常に新しいです。私のキャリアはフロントエンドの技術に基づいているため、何も結び付けていません。しかし、私は自分のデータベースにfirebaseを使用していますが、それはおそらく私がこの問題のために使うべきものではありません。私はそれについてすべての研究をしますが、正しい方向に私を指してくれてありがとう! – chuloon