昨天晚上配置myblog的rewrite。发现一个奇怪的问题。由于现在使用的这个pjblog,为了让搜索引擎收录的连接有效。我想把原来的asp连接rewrite到我的新程序上面。所以有这样一条规则。
<rule>
<from>^/article.asp\?id=(.*)$</from>
<to type="redirect">/entry/$1.jhtml</to>
</rule>
但是我这样的连接总是匹配不到,只要去掉那个?就可以了。这个正则表达式是没有问题的。/article.asp?id=64是可以匹配的到的。
后来看3.0的manual (http://tuckey.org/urlrewrite/manual/3.0/)才发现原来是这个的问题。
<urlrewrite> element
The top level element.
AttributePossible ValueExplanation
default-match-type (optional) | regex (default) | All rules and thier conditions will be processed using the Java Regular Expression engine (unless match-type is specified on a rule). |
wildcard | All rules and thier conditions will be processed using the Wildcard Expression engine (unless match-type is specified on a rule). |
decode-using (optional) | utf8 (default) | When URL is decoded UTF-8 will be used. |
null | Do not decode. |
[encoding] | Any string representing a supported character encoding eg, ISO-8859-1. See Java Charset Object for more info. |
use-query-string (optional) | false (default) | The query string will not be appended to the url that the "from" element matches against. |
true | The query string will be appended to the url that the "from" element matches against. |
use-context (optional) | false (default) | The context path will not be added to the url that the "from" element matches against. |
true | The context path will be added to the url that the "from" element matches against. |
就是那个use-query-string 的问题,默认的是不使用query-string就是把?后面的都忽略了。所以就不能匹配到了。只要在<urlrewrite>里面加一个属性就可以了。
<urlrewrite use-query-string="true">
</urlrewrite> 除经特别注明外,本文章版权归莫多泡泡所有.
署名,非商业用途,保持一致. somebody(莫多)
分享到:
相关推荐
在网上找了很多都不合心意,就知道改了下源码,只改了org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.class 文件,如果担心安全的朋友,可以下载 4.0.3的jar 替换UrlRewriteFilter.class即可。 confPath 默认 ...
在web.xml中配置UrlRewriteFilter,意味着我们需要声明一个过滤器条目,指定它的类名(`org.tuckey.web.filters.urlrewrite.UrlRewriteFilter`)以及配置文件的位置(通常是在<context-param>`中指定的`urlrewrite....
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <param-name>logLevel <param-value>WARN <param-name>statusEnabled <param-value>true <filter-name>UrlRewriteFilter <url...
jar包,官方版本,自测可用
3. **URL规范化**:确保所有URL指向同一个资源时,格式保持一致,避免因URL重复导致的SEO问题。 4. **重定向**:当某个URL不再有效时,可以设置重定向规则,引导用户访问新的URL。 安装并配置`urlrewrite.jar`后,...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <param-name>logLevel <param-value>info <filter-name>UrlRewriteFilter <url-pattern>/*</url-pattern> <dispatcher>REQUEST ...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <filter-name>UrlRewriteFilter <url-pattern>/*</url-pattern> ``` **2. `urlrewrite.xml` 配置:** ```xml ^/ <to type="forward">...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <param-name>logLevel <param-value>info <param-name>statusPath <param-value>/urlrewrite-status <filter-name>...
DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN" "http://tuckey.org/res/dtds/urlrewrite3.2.dtd"> <urlrewrite> 重写index.jsp成index.html</note> <note>example:/index.html</note> ...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <filter-name>UrlRewriteFilter <url-pattern>/*</url-pattern> ``` 这段配置表示将所有的URL请求都交由`UrlRewriteFilter`处理。 ...
**URLRewrite 3.2.0 for Java:详解与应用** URLRewrite 是一个功能强大的URL重写和转换工具,适用于Java环境。它基于Apache的Tuckey项目,为Web应用程序提供了类似于Apache HTTP服务器的mod_rewrite模块的功能。在...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <param-name>logLevel <param-value>WARN <param-name>confPath <param-value>/WEB-INF/urlrewrite.xml <filter-name>...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <filter-name>UrlRewriteFilter <url-pattern>/*</url-pattern> <dispatcher>REQUEST <dispatcher>FORWARD ``` - **编写url...
URLRewrite是基于Apache开源项目Tuckey开发的一款强大的URL管理过滤器,它可以方便地进行URL重写和URL映射,使得复杂的服务器端请求路径可以被转换为简洁、易读的URL。在Java Web应用程序中,URLRewrite常用于隐藏...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <param-name>logLevel <param-value>DEBUG <param-name>confFile <param-value>/WEB-INF/urlrewrite.xml <filter-name>...
标题 "urlrewrite的简单搭建" 涉及到的知识点主要集中在使用URL重写工具 `UrlRewriteFilter` 上,这是一个基于Java的开源过滤器,用于处理和重写HTTP请求的URL,通常与Web应用程序(如Spring MVC或Struts)一起使用...
在SS3EX框架中,UrlRewrite的使用是为了解决传统URL模式中参数过多、过于复杂的问题,提供一种更简洁、更美观的URL表示方式。下面将详细介绍SS3EX中使用UrlRewrite的相关知识点。 首先,URL重写主要是通过配置文件...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <param-name>logLevel <param-value>WARN <param-name>statusEnabled <param-value>true <filter-name>UrlRewriteFilter <url-...
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter <filter-name>UrlRewriteFilter <url-pattern>/*</url-pattern> <dispatcher>REQUEST <dispatcher>FORWARD ``` 这段代码告诉服务器...
首先,UrlRewrite是Tuckey开源组织提供的一款过滤器,它基于Apache的开源项目 mod_rewrite 的思想,实现了在Servlet容器(如Tomcat)中的URL重写功能。通过在web.xml中配置UrlRewriteFilter,我们可以定义一系列规则...