Rewrite-dispatch

From Resin 3.0

(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
 
The <rewrite-dispatch> tag tries each sub-tag in order for a [[regular expression]] match.  The first matching tag redirects the request.
 
The <rewrite-dispatch> tag tries each sub-tag in order for a [[regular expression]] match.  The first matching tag redirects the request.
  
== Redirecting a URL ==
+
== 302 Redirecting a URL ==
  
 
To redirect a URL with a HTTP 302 redirect use:
 
To redirect a URL with a HTTP 302 redirect use:
Line 15: Line 15:
 
  </rewrite-dispatch>
 
  </rewrite-dispatch>
  
== Permanently Move a URL ==
+
== 301 Permanently Move a URL ==
  
 
To redirect a URL with a HTTP 301 moved-permanently use:
 
To redirect a URL with a HTTP 301 moved-permanently use:

Revision as of 20:24, 12 January 2006


The <rewrite-dispatch> tag rewrites and dispatches rules similar to the Apache mod_rewrite module. It can appear in the <host> or the <web-app> tags.

Contents

Overview

The <rewrite-dispatch> tag tries each sub-tag in order for a regular expression match. The first matching tag redirects the request.

302 Redirecting a URL

To redirect a URL with a HTTP 302 redirect use:

<rewrite-dispatch>
  <redirect regexp='^/foo' target='/bar'/>
</rewrite-dispatch>

301 Permanently Move a URL

To redirect a URL with a HTTP 301 moved-permanently use:

<rewrite-dispatch>
  <moved-permanently regexp='^/foo' target='/bar'/>
</rewrite-dispatch>

(requires Resin 3.0.18)

Forwarding a URL

To internally forward a URL to a target using the Servlet forward() call use:

<rewrite-dispatch>
  <forward regexp='^/foo' target='/bar'/>
</rewrite-dispatch>

403 Forbidden

To send a HTTP 403 forbidden message for a URL, use:

<rewrite-dispatch>
  <forbidden regexp="^/foo"/>
</rewrite-dispatch>

404 Not Found

To send a HTTP 404 Not Found message for a URL, use:

<rewrite-dispatch>
  <not-found regexp="^/foo"/>
</rewrite-dispatch>

410 Gone

To send a HTTP 410 Gone message for a URL, use:

<rewrite-dispatch>
  <gone regexp="^/foo"/>
</rewrite-dispatch>
Personal tools