Я пытаюсь перенаправить свой URL со следующими настройками в standalone.xml:
<server name="default-server">
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="localhost">
<location name="/en/" handler="en"/>
<location name="/de/" handler="de"/>
<location name="/" handler="de"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="en" path="${jboss.home.dir}/standalone/deployments/en"/>
<file name="de" path="${jboss.home.dir}/standalone/deployments/de"/>
</handlers>
Мои обработчики указывают на соответствующие угловые фронтенд-проекты в папке развертывания моего wildfly-сервера, где также развернут мой EAR-файл.
Это работает нормально, за исключением одного случая: если я обновляю свою страницу сведений, которая выглядит следующим образом: localhost:8080/en/details/1234
я получаю ошибку
404 - Страница не найдена. Я уже попробовал <location name="/en/details/1234" handler="en"/>
, которая работает, но, очевидно, только для этого конкретного идентификатора.
В моем понимании это можно решить, добавив что-то вроде <location name="/en/details/(.*)" handler="en"/>
Моя проблема в том, что я не могу понять, как поместить заполнитель как регулярное выражение после "подробности/".Это вообще возможно?Или есть лучший способ справиться с этой проблемой перенаправления / перезаписи?
Я уже сделал попытку undertow-handlers.conf
, но мне казалось, что он никогда не запускал правила перезаписи, которые я там реализовал.