1

Undertowハンドラを使用してSPAのindex.htmlにSPA URLを正しく書き直すようにJBoss EAP 7(Undertow経由)を設定しようとしています。申し訳ありませんが、私のAPIは/apiにありますので、どのリクエストも/apiで始まるようにする必要があります。ここでSPAブックマークの適切な書き換えをサポートするようにUndertowハンドラを設定するにはどうすればよいですか?

は私の現在の設定(別から持ち上げSO答える)である:

not equals(%R, '/my-app') and 
not equals(%R, '/my-app/') and 
not equals(%R, '/my-app/index.html') and 
not path-prefix('/my-app/api') and 
not regex('/my-app/.*\.js') and 
regex('/my-app/.+') -> rewrite('/my-app/index.html') 

残念ながら、これは何かを書き換えていないようです。この設定をプロパティ書き換えURLに更新するにはどうすればよいですか?スタートとして

答えて

1

WEB-INF/undertow-handlers.confにこの設定を試してみてください。

path-prefix('/api') -> done 
path-suffix('.js') -> done 
path-prefix('/') -> rewrite('/') 

彼らはすでにあなたのアプリケーションのコンテキストで実行されているようあなたはどのルールに/my-appプレフィックスを必要はありません。

しかし、スタイルシート、ファビコン、ソースマップなどのような他のリソースを書き換えないように、他の述語を追加する必要があるかもしれません。full list of predicates and handlersは、より具体的なターゲットルールを作成するのに役立ちます。

path-suffixは、まだ/app?thing.jsのようなパスを考慮しています。そのようなクエリパラメータは決して使用しないかもしれませんが、書き直すことを覚えておくとよいでしょう。

関連する問題