Это мой первый контакт с веб-технологией Wildfly / JBoss и JAVA. Я хочу написать это заранее, чтобы избежать путаницы и указать, что я новичок ie:)
Я пытаюсь настроить правила перезаписи для веб-сайта, размещенного на сервере WildFly 16. У меня машина Linux, на которой установлен Apache и настроен как обратный прокси. На этой же машине установлен docker, на котором работает Wildfly. У меня есть доступ к файлу WAR, и я пытаюсь сделать все изменения там (у меня нет доступа к файлам проекта)
Часть веб-сайта построена с использованием реакции и требует 3 переписывания:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]
Я проверил эти правила на Apache с помощью PHP (в файле htaccess), и они отлично работают.
Моя проблема в том, что я не могу заставить RewriteRules работать с Wildfly.
Согласно документам (https://docs.jboss.org/jbossweb/7.0.x/rewrite.html) мне нужно добавить:
<valve>
<class-name>"org.jboss.web.rewrite.RewriteValve"</class-name>
</valve>
к jboss-web.xml
. Я сделал это, но в WAR-файле, так что теперь файл WEB-INF\jboss-web.xml
имеет следующее содержимое:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web version="8.0" xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/schema/jbossas/jboss-web_8_0.xsd">
<valve>
<class-name>"org.jboss.web.rewrite.RewriteValve"</class-name>
</valve>
<context-root>/TestYourSkills</context-root>
</jboss-web>
, затем (также в соответствии с документами) я добавил файл rewrite.properties
в папку WEB-INF со следующим содержанием:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/$ /index.html [L]
, но я не могу заставить это работать. Я пытался добавить еще более простые правила, но все мои попытки потерпели неудачу.
Я что-то не так делаю? Может быть, мне нужно включить что-то еще или добавить дополнительные файлы JAR в WEB-INF\lib
? Я совершенно новичок в WildFly, но я провожу почти два дня, пробуя разные вещи и ища по net.
Любой совет более чем приветствуется.