カスタムタイプのSinglePageApplicationのページを持つumbracoを使用したWebアプリケーションがあります。このコンテンツ ページはルートにあります。
Content
|
|-Portal (of Type SinglePageApplication)
このページには ID (例: 1050) があり、このページには Angular アプリが含まれています。私が欲しいのは、URLが存在せず、umbracoが404をスローする必要がある場合、このページに移動し、Angularがページが見つからない状況を処理できるようにすることです。
これを実現するために、umbracoSettings.config の error404 構成を次のように変更しました。
<error404>1050</error404>
そして、これは機能します。しかし、この Web アプリケーションはすぐにリリースされ、別のデータベースを持ち、ポータル ページにはおそらく別の ID (および GUID) が割り当てられます。明らかに、umbraco が受信した 404 は正しいページに転送されなくなり、ライブ サーバーで手動で ID を変更する必要があります。そしてそれを防ぎたい。
umbracosettings.config の例には、xpath を使用できると記載されており、この問題をグーグルで検索したときに多くの例が見つかりましたが、すべて umbraco 7 用であり、それらのどれも umbraco 8 では機能しないように見えるため、このために何かが変更された可能性があると感じました。設定。残念ながら、umbraco 8 のドキュメントは現在非常に貧弱です。
私がこれまでに試したことは次のとおりです。
<error404>//Page[nodeName='Portal']</error404>
<error404>//SinglePageApplication[node='Portal']</error404>
<error404>$site//SinglePageApplication[node='Portal']</error404>
<error404>$root//SinglePageApplication[node='Portal']</error404>
おそらく私は 1 つを見逃していましたが、どちらも機能せず、すべてが醜い 404 ページになりました。
404 が発生したときに umbraco をコンテンツ ページに転送する方法は何ですか? NodeId を使用して動作するが、ページの nodeId または Guid にバインドされていないのと同じです。