#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.
Я изменил конфигурацию, и теперь она работает гладко. Слава богу.