UrlRewriteFilter 3.2.0 build 1 configuration overview (generated 12/20/09 9:13 PM)


Summary of urlrewrite.xml

In total there are 12 rules, 3 outbound rules and 11 conditions in the configuration file.

Test Rule1 (rule 0)

A test rule to show a simple redirect.

URL's matching /test/status/ will be redirected to /rewrite-status.

This rule and it's conditions will use the regex matching engine.

Bild redirect test (rule 1)

URL's matching logo.gif will permanent-redirect to http://127.0.0.1:8080/urlrewrite/artifact_type.gif.

This rule and it's conditions will use the regex matching engine.

Products (rule 2)

Allows users to type product id's into urls.
ID's published in magazine.

URL's matching /products/*/*/ will be forwarded to /products.jsp.

This rule and it's conditions will use the regex matching engine.

This rule will set:

  1. An attribute on the request object called categoryId to the value null
  2. An attribute on the request object called usingFilter to the value yes

Rule 3

URL's matching /chairs/*/ will be forwarded to /products/chairs.jsp.

This rule and it's conditions will use the regex matching engine.

This rule will set:

  1. An attribute on the session object called chairShopper to the value true

Test Rule disabled (rule 4) **DISABLED**

URL's matching /test/disabled/ will be redirected to /rewrite-status.

This rule and it's conditions will use the regex matching engine.

Given that the following conditions are met.

  1. The user-agent HTTP header does NOT match the value mac and
  2. dayofmonth is equal to the value 14 and
  3. The charset HTTP header matches the value utf and
  4. user-in-role is equal to the value admin

Test Rule with sets (rule 5)

URL's matching /test/disabled/.

This rule and it's conditions will use the regex matching engine.

Given that the following condition is met.

  1. The user-agent HTTP header does NOT match the value mac

This rule will set:

  1. An attribute on the request object called blah to the value ass
  2. The cache-control HTTP response header to ass

Note, other rules will be processed after this rule.

Rule 6

URL's matching /test-set/([0-9]+) will be forwarded to /test-set.jsp.

This rule and it's conditions will use the regex matching engine.

Given that the following condition is met.

  1. The user-agent HTTP header does NOT match the value mac

This rule will set:

  1. An attribute on the request object called num to the value num

This rule will run:

  1. run on an instance of org.tuckey.web.filters.urlrewrite.test.TestRunObj
  2. run on an instance of org.tuckey.web.filters.urlrewrite.test.TestRunObj
  3. nonDefaultRun on an instance of org.tuckey.web.filters.urlrewrite.test.TestRunObj
  4. nonDefaultRun on an instance of org.tuckey.web.filters.urlrewrite.test.TestRunObj (a new instance will be created for each rule match)
  5. nonDefaultRun on an instance of org.tuckey.web.filters.urlrewrite.test.TestRunObj (a new instance will be created for each rule match)
Note, if init(ServletConfig) or destroy() is found on the above objects they will be run at when creating or destroying an instance.

Rule 7

URL's matching /content/([a-zA-Z]+).

This rule and it's conditions will use the regex matching engine.

This rule will set:

  1. An attribute on the request object called contentItem to the value $1

This rule will run:

  1. doGet on an instance of org.tuckey.web.filters.urlrewrite.TestServlet
Note, if init(ServletConfig) or destroy() is found on the above object they will be run at when creating or destroying an instance.

Note, other rules will be processed after this rule.

Rule 8

URL's matching /pref/([a-zA-Z]+).

This rule and it's conditions will use the regex matching engine.

Given that the following condition is met.

  1. method is equal to the value POST

This rule will run:

  1. doPost on an instance of org.tuckey.web.filters.urlrewrite.TestServlet
Note, if init(ServletConfig) or destroy() is found on the above object they will be run at when creating or destroying an instance.

Note, other rules will be processed after this rule.

Rule 9

URL's matching /test-redirect-301 will permanent-redirect to /is-this-301.

This rule and it's conditions will use the regex matching engine.

Rule 10

URL's matching /test-redirect-302 will temporary-redirect to is-this-302.

This rule and it's conditions will use the regex matching engine.

Rule 11

URL's matching /test-redirect-302 will temporary-redirect to is-this-302.

This rule and it's conditions will use the regex matching engine.

Given that the following condition is met.

  1. user-in-role is equal to the value devil

Out test 1 (outbound rule 0)

Outbound URL's matching /page-not-for-devils(0-9)? will be rewritten to /devils-page, after response.encodeURL() has been called.

Given that the following condition is met.

  1. user-in-role is equal to the value devil

Outbound Rule 1

Outbound URL's matching ^(.*);jsessionid=.*$ will be rewritten to $1.

Given that the following condition is met.

  1. The user-agent HTTP header matches the value googlebot.*

Outbound Rule 2

Outbound URL's matching *;jsessionid=* will be rewritten to $1, after response.encodeURL() has been called.

Given that the following condition is met.

  1. The user-agent HTTP header matches the value googlebot*