2017-03-08 3 views
2

Je viens d'installer le filtre de réécriture d'URL de http://tuckey.org/.URLRewrite - ajouter .do aux demandes entrantes - mais l'exécution du filtre a généré une exception

J'ai ajouté une règle pour ajouter .do pour les demandes arrivant sur un chemin spécifique /beta.

<rule> 
     <from>(.*)/beta/(.*)\?(.*)</from> 
     <to>$1/beta/$2.do\?$3</to> 
    </rule> 

    <rule> 
     <from>(.*)/beta/(.*)</from> 
     <to>$1/beta/$2.do</to> 
    </rule> 

La configuration des règles passe à l'état OK afin qu'elle ait été chargée avec succès.

Malheureusement, je vois maintenant une exception stacktrace dans le journal qui est longue de plus de 5000 liens et semble être bloquée dans une boucle.

017-03-08 13:50:15.827 [0.0-8080-1] ERROR JSPException    [0966E] Exception trapped when showing Error Page! Filter execution threw an exception 
javax.servlet.ServletException: Filter execution threw an exception 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:259) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) ~[urlrewritefilter-4.0.3.jar:4.0.3] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292) ~[tmp7900369758995902766jbossweb.jar:4.2.3.GA (build: 

Et il va ...

Répondre

2

Semble vos règles cyclisme récursive parce que l'URL de destination correspond à une expression régulière dans la clause <from>. Essayez de réécrire regex pour correspondre uniquement expression from, pas to url résultant. C'est à dire.

<rule> 
    <from>(.*)/beta/(.*)</from> 
    <to>$1/beta2/$2.do</to> 
</rule> 

Pour plus d'informations, voir ce guide URL Rewriting for Beginners.