私が持っているAngularJSシードプロジェクトを、私は追加しました
$locationProvider.html5Mode(true).hashPrefix('!');
app.jsファイルに追加します。IIS 7を構成してすべてのリクエストを
http://localhost/app/index.html
これでうまくいきます。どうすればよいですか?
更新:
IIS URL書き換えモジュールを見つけてダウンロードし、インストールしたところです。これにより、目標を簡単かつ明確に達成できると期待しています。
アップデート2:
これは私が達成しようとしていることを要約していると思います(AngularJS開発者のドキュメントから取得):
このモードを使用するには、サーバー側でURLを書き換える必要があります。基本的に、アプリケーションのエントリポイント(index.htmlなど)へのすべてのリンクを書き換える必要があります。
更新3:
私はまだこれに取り組んでおり、次のような特定のURLをリダイレクトする必要がない(書き換えるルールがある)必要があることに気付きました
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
そのため、css、js、lib、またはpartialsディレクトリにあるものはすべてリダイレクトされません。それ以外はすべてapp / index.htmlにリダイレクトする必要があります
誰もがすべてのファイルにルールを追加する必要なしにこれを簡単に達成する方法を知っていますか?
アップデート4:
IIS URL書き換えモジュールで2つの受信ルールを定義しています。最初のルールは:
2番目のルールは次のとおりです。
これでlocalhost / app / view1に移動するとページが読み込まれますが、サポートファイル(css、js、lib、partialsディレクトリにあるファイル)もapp / index.htmlページに書き直されているため、すべてが来ています。使用するURLに関係なく、index.htmlページとして戻します。これは、これらのURLが2番目のルールによって処理されないようにするための最初のルールが機能していないことを意味していると思います。...誰でも?...私は孤独を感じる... :-(
app/index.html
ではなく app/
、ルーティングすることを確認する必要があります。私はそれを理解する前に私の人生の2時間を失いました。:-)