UrlRewriteFilter не вступает в силу в Tomcat

#jsp #tomcat #http-status-code-404 #tuckey-urlrewrite-filter

#jsp #tomcat #http-status-code-404 #tuckey-urlrewrite-filter

Вопрос:

Мой веб-сайт размещен в Centos под Tomcat. Веб работал нормально. (нет web.xml в WEB-INF)

Я хотел создать постоянную ссылку для страниц jsp, используя urlrewritefilter-4.0.4.jar Но после загрузки адрес web.com/COVID-19 показал 404.

Это мой web.xml (По умолчанию)

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
</web-app>
  

Это мой urlrewrite.xml

 <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule>
        <from>/COVID-19</from>
        <to>/covid19.jsp</to>
    </rule>
</urlrewrite>
  

Пожалуйста, помогите, спасибо.

Ответ №1:

Итак, когда я беру дамп, размышляя поздно в полночь после нескольких часов отчаянной борьбы, я был просвещен.

Причина, по которой urlrewritefilter не работал, заключалась в том, что Tomcat действительно не на что было ответить. Это был Apache, он только перенаправил URL в Tomcat, который заканчивался на *.jsp и servlet (mod_jk). Так что вполне естественно, что Tomcat не получил ни одного URL, заканчивающегося «COVID-19», поскольку он был обработан Apache.

Я изменил конфигурацию, и теперь она работает гладко. Слава богу.