ルートの場所にない AngularJS アプリを構築していますdomain.tld/blog
。/blog
ベース上のすべてのルーティング設定を行いました。ページの head に base タグを含めました<base href="/blog">
。html5Mode
に設定されていtrue
ます。アプリ内では、すべてが期待どおりに機能します。ただし、ベースの場所の外にある角度のない URL をクリックすると、ページが読み込まれません。この場所はotherwise
、ルーターの関数によってキャッチされているようです。
ROUTER.otherwise({
redirectTo : '/blog'
});
したがって、任意の URL をクリックすると、つまりdomain.tld/somewhere-else
domain.tld/blog にリダイレクトされます。当然のことですが、ルーターで見つからないすべての URL を「ホームページ」にリダイレクトします。私のアプリでは、これは望ましい動作ではありません。ルーターにないすべての URL は、通常の URL として扱われ、その URL へのページのリロードが発生する必要があります。
だから私が必要とするのは次のようなものです:
ROUTER.otherwise(
window.location = theRequestedUrl;
);
これは明らかに機能しません。しかし、どういうわけか、ルーターのその他の部分に入り、ページのリロードでページにリダイレクトするように指示する必要があります。
次の質問が関連しています:角度のあるルーティングで奇妙なことが起こっています
次の jsFiddle は問題を示しています (@rdjs に感謝します!) http://fiddle.jshell.net/43tub/6/show/light/。リンクをクリックすると、/outside
ページ全体が更新されます...