12

そこで、HTML5 のシングル ページ アプリケーションをセットアップしましたが、うまく機能しています。ページは に/App/あり、コンテンツに移動すると のように見えます/App/Content/1234

1 つの問題: ユーザーがページを更新すると、実際には存在しないため、サーバーはその URL を見つけることができません。に送信すると/App/#/Content/1234ゴールデンになりますが、これを行う最善の方法は何ですか? /App の下にさまざまなスタイルの URL がたくさんあります。

でリクエストをグローバルにキャッチし~/App/(.*)てリダイレクトする最良の方法は何~/App/#/$1ですか?

MVC に登録されている唯一のルートは、標準の OOTB ルートです。

4

2 に答える 2

4

サーバーが URL をアプリのベース URL に書き換えていないようです。

Web サーバーで必要な URL の書き換えは、サーバーに依存します。Apache の場合は、mod_rewrite を使用します。

代わりに、Angular を「Hashbang モード」(デフォルト) に切り替えて、URL の # の後にすべての URL がローカル状態を保存するようにします。

アプリでサーバー構成の変更を要求したくないので、hashbang モードをお勧めします。

AngularJS ドキュメントを参照してください。「Hashbang および HTML5 モード」セクションを参照してください。HTML5 モード セクションでは、URL の HTML5 モードをサポートするために必要なすべての構成の問題について説明します。

于 2012-08-03T02:30:11.453 に答える