TAG and Apache mod_rewrite

Compatibility

TAG Route syntax if fully compatible with Apache Module mod_rewrite syntax. If you are already an Apache mod_rewrite user, you should be able to import your rewrite rules into TAG without significant changes.

Additional Features

The TAG mod_rewrite engine implements a couple of extra features to improve the Routing experience.

  • The A or auth flag, allows you to apply Authentication and Authorization in a specific RewriteRule, using the definitions of a Security Profile.

  • The HE or headers flag, allows you to add, set or remove Headers in a specific RewriteRule, using the definitions of Route Headers.

Unsupported Flags

Most of the Apache Module mod_rewrite behavior flags are supported.

A few of the original mod_rewrite flags behavior does not make sense in the context of the TAG since mod_rewrite is also designed to work around file systems which is something out of the scope of the TAG. For that reason, the flags discard path [DP] and query string last [QSL] are not supported.

The no subrequest [NS] flag is also not supported since TAG does not handle subrequests.

Every target in a RewriteRule is treated as an URL, so the passthrough [PT] flag does not make sense either. It is implicitly the default behavior for every rule.

Unsupported Server Variables

The following Server Variables are not supported at the moment:

  • SSL_SESSION_RESUMED

  • SSL_COMPRESS_METHOD

  • SSL_VERSION_LIBRARY

  • SSL_CLIENT_CERT_RFC4523_CEA

  • SSL_SERVER_M_VERSION

  • SSL_SERVER_M_SERIAL

  • SSL_SERVER_S_DN

  • SSL_SERVER_S_DN_x509

  • SSL_SERVER_SAN_Email_n

  • SSL_SERVER_SAN_DNS_n

  • SSL_SERVER_SAN_OTHER_dnsSRV_n

  • SSL_SERVER_I_DN

  • SSL_SERVER_I_DN_x509

  • SSL_SERVER_V_START

  • SSL_SERVER_V_END

  • SSL_SERVER_A_SIG

  • SSL_SERVER_A_KEY

  • SSL_SERVER_CERT

  • SSL_SRP_USER

  • SSL_SRP_USERINFO

  • SSL_TLS_SNI