PathLocationStrategyの既存のAngular 4アプリをHashLocationStrategy
に移行しており、エントリポイントのURLを機能させる必要があります。それは何かのように見えますwww.test.com/?param1=123
HashLocationStrategyとクエリのパラメータ(角4)
問題は、私がHashLocationStrategyに切り替えるとすぐに、activate paramにactivatedRoute.queryParamsでアクセスできなくなることです。 (www.test.com/#/?param1=123
はうまく動作しますが、元のURLエントリも保持する必要があります)
param1の値をwww.test.com/?param1=123
からHashLocationStrategy
に変更する方法はありますか?私はそれを回避できない限り、www.test.com/#/?param1=123
にリダイレクトされる空のリンク先ページを作成したいとは思っていません。 HashLocationStrategy
以来
ルートの変更は、通常、古いURLが新しいURLにリダイレクトされることを意味します。したがって、一般的に、サーバー側からこれを行うのが理にかなっています。 '/?param1 = 123'のようなレガシールートパスだけでなく、'/foo/bar'のような他のパスも存在します。 HashLocationStrategyを使用すると、アプリがSPAでないことがよくあります。それは...ですか? '/?param1 = 123#/?param1 = 456'のようなURLは理論上存在する可能性があるので、これをどのように扱うべきかによって異なります。 – estus
私はエントリのURLだけを気にし、残りのURLは問題ではなく、変更することができます。 HashLocationStrategyを動かす理由は、S3バケットから提供されたSPAを取得しているため、Angularが作成するURLに対してサーバー側のサポートを追加するのは難しいことです。サーバー側のリダイレクトは、URLの#でうまく動作しません。 – Leo
正常に動作します。サーバー側から#を読むのに問題はありますが、設定に問題はありません。 Angularの中でこれを行うことは可能ですが、サーバー側からはるかにクリーンです。 currentUrlが '/'でなければLocationヘッダを '' /# '+ currentUrl'に設定すれば、すべてのSPAのURLをカバーします。 – estus