GAE (Google App Engine – Java) で AngularJS を使用してアプリを作成しました。
SEO対応に変換したい。
インデックス.html
<meta name="fragment" content="!" />
<base href="/">
本体は を通じて動的にロードされます<div ui-view></div>
。
アプリ
$locationProvider.html5Mode(true);
URL は正常に機能しますが、ページを更新すると 404 エラーが発生します。
これが何を引き起こすのか、何かご存知ですか?
ベストアンサー1
すでに解決されていると思いますが、この問題に遭遇した他の方のために:
基本的に、AngularJS の は$locationProvider.html5mode(true)
HTML5 の を利用しておりhistory.pushState()
、ページを再読み込みせずにユーザーの履歴とアドレスバーの URL を人為的に変更します。 のルートを (Angular で) 作成したが/about
、サーバー上に一致するルートがない場合は、ページを再読み込みするとサーバー上にルートが存在しないことが明らかになるという問題が発生します。最も簡単な解決策は、アプリから/index.html
アクセス可能なすべてのルートに対して、アプリのエントリ ポイント ( ?) をミラーリングすることです。