我正在使用wildfly 10托管我的react网页。但是,当我刷新页面或尝试使用特定的URL直接访问页面时,反应路由不起作用。我试图在wildfly的undertow子系统中使用filter重写url,但是它没有按预期工作,而是仅将页面路由到index.html,而没有由react路由器进一步路由。
standalone.xml中过滤器的配置:
<subsystem xmlns="urn:jboss:domain:undertow:3.0">
<http-listener name="default" socket-binding="http" redirect-socket="https"/>
<host name="default-host" alias="localhost">
<location name="/" handler="example"/>
<filter-ref name="cb-portal-rewrite" predicate="regex('(?=/example/+[a-z0-9/.-]{1,})(^((?!.\.+[a-z0-9/.-]{0,}).)*$)')"/>
</host>
<handlers>
<file name="example" path="${jboss.home.dir}/standalone/deployments/example"/>
</handlers>
<filters>
<rewrite name="cb-portal-rewrite" redirect="true" target="https://example.com/index.html"/>
</filters>
</subsystem>
我所有的路由都以/ example开头,正则表达式检查传入的网址是否以example开头,并且是请求文件的网址。
是否有一种方法可以实现与apache中相同的重写机制,以便刷新和直接url起作用?