Angularアプリを構築するためにangular-cliを使用しました。AzureのblobとAzureの関数でAngular 4アプリをホストするときにブラウザの更新を許可する方法
注意PathLocationStrategyルーティング戦略を使用しています。他の制約のため、私はHashLocationStrategyを使用できません。
すべての静的ファイルをAzure Storage Blobの「フロントエンド」コンテナにアップロードしました。アプリは、私が遭遇した2つの制限を除き、正常に動作している:
- ユーザーは、ユーザー・プレスブラウザは404エラーを更新すると
- URLを完了するために、入力する必要はなく、ドメイン名だけ(すなわちhttps://someblob.blob.core.windows.net/frontend/index.html)が返されます。
Azure関数のプロキシと次のproxies.jsonファイルを使用して、私は最初の制限を解決しました。私。ユーザーはsome-azure-function.azurewebsites.netを参照してアプリにアクセスできます。しかし、第二のものではありません。
Azure関数のプロキシを使用して2番目の制限を解決する方法はありますか?
proxies.json:
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"refresh": {
"matchCondition": {
"route": "/frontend/"
},
"backendUri": "https://someblob.blob.core.windows.net/frontend/index.html"
},
"allfiles": {
"matchCondition": {
"route": "/frontend/{*rest}"
},
"backendUri": "https://someblob.blob.core.windows.net/frontend/{rest}"
},
"root": {
"matchCondition": {
"route": "/"
},
"backendUri": "https://someblob.blob.core.windows.net/frontend/index.html"
}
}
}
にページ名をキャプチャします。 index.htmlにリダイレクトするように変更した場合、ファイルは配信されません。これを絞り込むには、ファイルとパスを区別する方法が必要です。拡張子が存在する場合はファイルを取得し、それ以外の場合はindex.htmlにリダイレクトします。それを行う方法はありますか? – kDar
私の前のコメントを受け取りましたか? – kDar
私はあなたのルートをフォーマットすると信じています。 'https://someblob.blob.core.windows.net/frontend/ {page}。{ext}/{* rest}' –