Tag: tuckey urlrewrite filter

我可以对其他Tomcat实例执行URL重写吗?

是否可以使用Tuckey的URL Rewrite重写为不同的Tomcat实例? 我让它使用crossContext=”true”重写到同一个tomcat实例上的不同servlet,但我们的生产服务器有多个运行的tomcat实例,我想改写为其中一个? 如果使用URL Rewritefilter是不可能的,还有另一种方法吗? 谢谢。

使用Tuckey URL Rewrite时获取查询字符串

我有以下规则: ^/users/(.*)$ /users.do$1 我想匹配以下url: http://localhost:8077/users/?elemsPerPage=10 并将其重定向到: http://localhost:8077/users.do?elemsPerPage=10 问题是当url rewriter引擎找到“?”时 url中的字符在$ 1匹配参数中不返回任何其他内容。 它既不会将参数添加到查询字符串中。 有任何想法吗?

Tuckey URL重写filterJava类配置

我一直在研究如何在Tomcat 8上执行URL重写并继续运行相同的两个建议。 1)使用Tuckey URLRewriteFilter。 2)在Tomcat之上运行Apache以使用mod_rewrite。 关于前者,URLRewriteFilter似乎没有任何关于如何以Java格式配置而不是XML的文档。 我的Spring MVC应用程序没有使用web.xml文件 – 所有配置都是通过Java类完成的 – 因此我无法使用XML进行配置。 有没有办法以这种方式配置,或者除了尝试在Tomcat之上运行Apache之外还有什么好的选择吗? 例如,有没有办法在Java中实现这一点而不是XML: UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter UrlRewriteFilter /* REQUEST FORWARD 这是我的WebApplicationInitializer类: public class Initializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext container) { // Create the ‘root’ Spring application context AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext(); rootContext.register(RootConfig.class); // Manage the lifecycle of the root application context […]

SpringMVC url用tuckey UrlRewriteFilter重写

如何使用tuckey的UrlRewriteFilter重写SpringMVC中的url,如下所示: 从 http://localhost:8080/demo/api.do?method=getUser&uid=1001 至 http://localhost:8080/demo/api/user/1001 控制器片段: @Controller @RequestMapping(“/api.do”) public class APIController { @RequestMapping(params = “method=getUser”) public String methodName(HttpServletRequest request) { //CODE BLOCK } }

在Struts2中使用Tuckey URL Rewrite在URL Rewrite中需要帮助

我想重写基于Struts2的应用程序的URL(目前在开发环境中)。 我搜索过它,发现了Tuckey URL Rewrite并在我的项目中进行了设置。 现在我想要我的登录URL,当前http://localhost:8080/MyProject/loadLogin.action (我在Struts2中使用通配符映射)看起来像http://localhost:8080/login 。 以下是我的配置代码: struts.xml中: mylogin web.xml中: UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel DEBUG UrlRewriteFilter /* REQUEST FORWARD struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* 现在这里是urlrewrite.xml,它有规则,我不知道我是否正确配置了规则: ^/* /login

在匹配规则后,为什么Tuckey UrlRewrite不调用filter调用chain.doFilter?

在这里使用Spring Framework …… 我创建了一个filter来更改css文件的响应体,如果我直接调用url就会运行。 但是,如果匹配urlrewrite规则,则跳过filter。 示例:在web.xml中: UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter UrlRewriteFilter /* cssFilter org.springframework.web.filter.DelegatingFilterProxy cssFilter *css 在urlrewrite.xml中有一个这样的映射设置: /styles-special/(.*)$ /styles/$1 (出于多种原因,我们需要这个) 因此,路径以“/ styles-special /”开头的任何* .css文件将被重写为“/ styles /”,并且不会调用cssFilter,但任何* .css文件的路径以“/ /”开头styles /“将按预期运行cssFilter。 我已经尝试将cssFilter的url-pattern更改为许多不同的选项,但结果相同。 在我看来,像tuckey urlrewritefilter只是在重写后没有调用chain.doFilter(),但也许它比那更复杂? 知道问题可能在这里吗? 这是预期的function吗? 有任何变通方法吗? …也许拦截器或控制器是去这里的方式? 在此先感谢您对此的任何建议! 注意:使用以下内容(如axtavt所建议): REQUEST FORWARD 修复了链接和运行filter的问题。 但是,我收到以下错误: java.lang.IllegalStateException: NO CONTENT at org.mortbay.jetty.HttpGenerator.addContent(HttpGenerator.java:106) at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:644) at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:579) 这是Filter的代码片段: public void doFilter(ServletRequest request, ServletResponse […]