52

AngularJSアプリのすべてのルートにベース URLを追加することは可能ですか? サーバー上の場所を本質的に変更します(それが理にかなっている場合は...のように、経由ではなく経由でアクセスされます)。//something/

コンテキストを追加するために、既存のAngularアプリを認証の背後に配置して、http://mysite/secureログインが成功した後にアプリがアドレスでアクセスできるようにしようとしています。

問題は、正常に動作するアプリをロードした場合http://mysite/secure(サーバーは明らかに正しいページを提供します) ですが、リンクをクリックするとページがリロードされ、http://mysite/#newpage代わりにhttp://mysite/secure/#newpage.

/secure/すべてのルートとリンク要素に追加しなくても、これは可能ですか? 乾杯、それがうまく表現されていない場合は申し訳ありません。

4

2 に答える 2

40

ベース href の場所には、末尾に / が必要です。例えば:

<base href="location" />

動作しないでしょう。次の形式にする必要があります。

<base href="location/" />
于 2013-12-03T22:51:56.547 に答える
38

HTML5 タグを設定すると<base>役立つ場合があります。ここのドキュメントから:

相対リンク

すべての相対リンク、画像、スクリプトなどを確認してください。<base href="/my-base">相対 URL は絶対 URL に解決されるため、メインの html ファイル ( ) の先頭に URL ベースを指定するか、絶対 URL (/ で始まる) を使用する必要があります。多くの場合、アプリケーションのルートとは異なる、ドキュメントの最初の絶対 URL を使用する URL。

ドキュメント ルートから履歴 API を有効にして Angular アプリを実行することを強くお勧めします。

于 2013-07-21T04:18:44.610 に答える