Setting name | Value |
Custom-Defined | |
(/application)/([^/]+) | |
$0 | |
$1 | |
setting |
Need a refresher on regular expressions? See “Regular expression syntax”, “What are back-references?”, and “Cookbook regular expressions”. You can also use the examples in this section, such as “Example: URL interpreter for WordPress”. |
Setting name | Description |
Name | Type a unique name that can be referenced by other parts of the configuration. Do not use spaces or special characters. The maximum length is 35 characters. |
Type | Select either: • Custom-Defined — Define your own URL replacer by configuring URL Path, New URL, Param Change, and New Param. |
Setting name | Description |
Application Type | Select one of the predefined URL interpreter plug-ins for well-known web applications: • JSP — Use the URL replacer designed for Java server pages (JSP) web applications, where parameters are often separated by semi-colons ( ; ). • OWA — User the URL replacer designed for default URLs in Microsoft Outlook Web App (OWA), where user name and directory parameters are often embedded within the URL: • (^/exchange/)([^/]+)/*(([^/]+)/(.*))* • (^/public/)(.*) |
Setting name | Description |
URL Path | Type a regular expression, such as (^/[^/]+)/(.*), matching all and only the URLs to which the URL replacer should apply. The maximum length is 255 characters. The pattern does not require a slash ( / ). However, it must at least match URLs that begin with a slash as they appear in the HTTP header, such as /index.html. Do not include the domain name, such as www.example.com. For examples, see “Example: URL interpreter for WordPress”. To test the regular expression against sample text, click the >> (test) icon. This opens the Regular Expression Validator window where you can fine-tune the expression (see “Regular expression syntax”, “What are back-references?” and “Cookbook regular expressions”) Note: If this URL replacer will be used sequentially in its set of URL replacers, instead of being mutually exclusive, this regular expression should match the URL produced by the previous interpreter, not the original URL from the request. |
New URL | Type either a literal URL, such as /index.html, or a regular expression with a back-reference (such as $1) defining how the URL will be interpreted. The maximum length is 255 characters. Note: Back-references can only refer to capture groups (parts of the expression surrounded with parentheses) within the same URL replacer. Back-references cannot refer to capture groups in other URL replacers. |
Param Change | Type either the parameter’s literal value, such as user1, or a back-reference (such as $0) defining how the value will be interpreted. |
New Param | Type either the parameter’s literal name, such as username, or a back-reference (such as $2) defining how the parameter’s name will be interpreted in the auto-learning report. The maximum length is 255 characters. Note: Back-references can only refer to capture groups (parts of the expression surrounded with parentheses) within the same URL replacer. Back-references cannot refer to capture groups in other URL replacers. |
Setting name | Value |
Predefined | |
JSP |
URL interpreter | |
Setting name | Value |
Name | OWAusername1 |
Custom-Defined | |
(/exchange/)([^/]+)/(.*) | |
$0$2 | |
$1 | |
username1 |
Sample URL | /exchange/archive-folders/2011 |
URL interpreter | |
Setting name | Value |
Name | OWAfoldername1 |
Custom-Defined | |
(/exchange/)([^/]+/)(.*) | |
$0 | |
$1$2 | |
folder1 | |
Results | /exchange/?folder1=archive-folders/2011 |
Sample URL | /exchange/jane.doe |
URL interpreter | |
Setting name | Value |
Name | OWAusername2 |
Custom-Defined | |
(/exchange/)([^/]+\.[^/]+) | |
$0 | |
$1 | |
username2 | |
Results | /exchange/?username2=jane.doe |
Sample URL | /public/imap-share-folders/memos |
URL interpreter | |
Setting name | Value |
Name | OWAfoldername2 |
Custom-Defined | |
(/public/)([^/]+/)(.*) | |
$0 | |
$1$2 | |
folder2 | |
Results | /public/?folder2=imap-share-folders/memos |
This configuration requires that for every request: • the web application includes parameters in the same sequential order, and • all parameters are always present If parameter order or existence vary, this URL interpreter will not work. Requests will not match the URL interpreter set if either param2 or param3 come first, or if any of the parameters are missing. On the opposite end of the spectrum, if the URL interpreter used regular expression capture groups such as (.*) to match anything in any order, i.e.: /index/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/ then the regular expression would be too flexible: auto-learning might mistakenly match and learn some of param3’s possible values for param2, and so on. |
Setting name | Value |
Name | slash-parameter3 |
Custom-Defined | |
/index/param1/(.*)/param2/(.*)/param3/(.*)/ | |
/index/param1/$0/param2/$1/ | |
$2 | |
param3 |
Setting name | Value |
Name | slash-parameter2 |
Custom-Defined | |
/index/param1/(.*)/param2/(.*)/ | |
/index/param1/$0/ | |
$1 | |
param2 |
Setting name | Value |
Name | slash-parameter1 |
Custom-Defined | |
/index/param1/(.*)/ | |
/index | |
$0 | |
param1 |
These URL interpreters will not function correctly if they are not used in that order, because each interpreter’s input is the output from the previous one. So you must set the priorities correctly when referencing each of those interpreters in the set of URL interpreters (“Grouping URL interpreters”). |
Setting name | Value |
Priority | 0 |
Type | URL REPLACER |
Plugin Name | slash-parameter3 |
Setting name | Value |
Priority | 1 |
Type | URL REPLACER |
Plugin Name | slash-parameter2 |
Setting name | Value |
Priority | 2 |
Type | URL REPLACER |
Plugin Name | slash-parameter1 |