Rewrite Manager icon

Rewrite Manager

Rewrite Manager allows you to define rewrite rules to handle request redirects

Screenshots

  • Rewrite Manager screenshot 0
  • Rewrite Manager screenshot 1
  • Rewrite Manager screenshot 2

Note: This application is free for testing but redirects will work only under a valid Enonic license.

Rewrite Manager supports two types of providers to manage rewrite rules:

  • File - configuration file per a virtual host. With this type of provider redirect rules are defined inside the config file.
  • Repository - using this type of provider you can manage redirect rules directly from the application UI. Configuration for each virtual host is stored in the repository called "`com.enonic.app.rewrite`".


If you are using both types of providers for the same virtual host, then File provider will take precedence.

Configuration

To configure this application, place a file called "`com.enonic.app.rewrite.cfg`" inside the configuration directory of your XP instance with the following options:

enabled - this option is used to enable or disable handling the request redirects by application.

includePattern - a RegExp pattern for request URI that should be processed by the application.

excludePattern - a RegExp pattern for request URI that should not be processed by the application.

ruleFileNameTemplate - template of the virtual host configuration filename with rewrite rules. Default template is `com.enonic.app.rewrite.{{vhost}}.conf`, where `{{vhost}}` is a name of a virtual host mapping specified in `com.enonic.xp.web.vhost.cfg`, for instance, `adm`.

By default this application is shipped with the following configuration:

enabled=false
excludePattern=^/admin/.*|.*/_/asset/.*|.*/_/image/.*

includePattern=^/site/.*
ruleFileNameTemplate=com.enonic.app.rewrite.{{vhost}}.conf

 

Usage

Currently the application supports Apache syntax (simplified):

com.enonic.app.rewrite.myvhost.conf

RewriteRule "/oldURL$" "/newURL" [R=301]
RewriteRule "/allUnderThis/(.*)" "/movedToHere/$1" [R=301]
RewriteRule "/kontakt" "/contact" [R=301]
RewriteRule "/avis" "https://rett24.no" [R=302]

If you want to specify a rewrite rule which contains URI-illegal characters, then you have to percent-encode source and target:


RewriteRule "/reparasjon%20og%20vedlikehold%20av%20kj%C3%B8ret%C3%B8y.pdf" "/kj%C3%B8ret%C3%B8y" [R=301]
 

Currently the application uses the following flags implicitly for each rule:


NE - noescape
L - last
NC - nocase

 

Note: Changes to configuration files with rewrite rules won't take effect until the Rewrite app is restarted.

Releases

  1. 1.1.5

    • Bug fix: Wrong target path resolution when vhost is not mapped to root
    • Compatibility:

      • 7.6.0
  2. 1.1.4

    • Bugfix: Query parameters are removed from target url
    • Compatibility:

      • 7.6.0
  3. 1.1.3

    • Bugfix: Regex substitution does not work in external redirects
    • Compatibility:

      • 7.6.0
  4. 1.1.2

    • Bugfix: Backslash issue on Windows
    • Compatibility:

      • 7.6.0
  5. 1.1.1

    • Fixed license validation
    • Compatibility:

      • 7.6.0
  6. 1.1.0

    • Unified license validation
    • Compatibility:

      • 7.6.0
  7. 1.0.1

    • Fixed deletion of a rule
    • Compatibility:

      • 7.6.0
  8. 1.0.0

    • First Release
    • Compatibility:

      • 7.6.0