Referring to an URL like the following:

Here is a list of supported macros for destination "To URL" field:
| Macro | Description | 
|---|---|
| URL macros | |
| {siteurl} | Web site address
 Example
 
www.example.com/path/to/Joomla  | 
| {scheme} | URL scheme
 Example
 
http  | 
| {host} | URL host
 Example
 
www.example.com  | 
| {port} | URL port number
 Example
 
8080  | 
| {user} | User name
 Example
 
fredbloggs  | 
| {pass} | User password
 Example
 
itsasecret  | 
| {path} | URL path
 Example
 
/path/to/Joomla/section/cat/index.php  | 
| {query} | URL query string
 Example
 
task=view&id=32  | 
| {queryfull} | URL query string full (with question mark)
 Example
 
?task=view&id=32  | 
| {querybuild var1=value1,...,varN=valueN} | Builds URL query containing only specified variables. If a value is specified for a variable, this is assigned to the variable
 Example
 
{querybuild id,task} => id=32&task=view  | 
| {querybuildfull var1=value1,...,varN=valueN} | Same as 'querybuild' but with question mark
 Example
 
{querybuildfull id,task} => ?id=32&task=view  | 
| {querybuildappend var1=value1,...,varN=valueN} | Same as 'querybuild' but with ampersand
 Example
 
{querybuildappend id,task} => &id=32&task=view  | 
| {querydrop var1=value1,...,varN=valueN} | Builds URL query removing specified variables from the original query. If a value is specified for a variable, this is assigned to the variable (that is not dropped) - ENTERPRISE VERSION ONLY
 Example
 
{querydrop task} => id=32  | 
| {querydropfull var1=value1,...,varN=valueN} | Same as 'querydrop' but with question mark - ENTERPRISE VERSION ONLY
 Example
 
{querydropfull task} => ?id=32  | 
| {querydropappend var1=value1,...,varN=valueN} | Same as 'querydrop' but with ampersand - ENTERPRISE VERSION ONLY
 Example
 
{querydropappend task} => &id=32  | 
| {queryvar varname,default} | Returns the current value for the variable 'varname' of the URL, or the value 'default' if 'varname' is not defined (where default = '' when not specified)
 Example
 
{queryvar task} => view  | 
| {requestvar varname,default} | Returns the current value for the variable 'varname' of the request, no matter about method (GET, POST, ...), or the value 'default' if 'varname' is not defined (where default = '' when not specified)
 Example
 
{requestvar id} => 32  | 
| {authority} | URL authority string
 Example
 
fredbloggs:itsasecret@www.example.com:8080  | 
| {baseonly} | Returns the base path only (empty when installed on root, i.e. it will never contains a trailing slash)
 Example
 
/path/to/Joomla  | 
| {pathfrombase} | Returns the path without the base part
 Example
 
/section/cat/index.php  | 
| {pathltrim pathtotrim} | Strip the string specified (pathtotrim) from the beginning of the path and returns the result
 Example
 
{pathltrim /path/to} => /Joomla/section/cat/index.php  | 
| {pathrtrim pathtotrim} | Strip the string specified (pathtotrim) from the end of the path and returns the result
 Example
 
{pathrtrim /index.php} => /path/to/Joomla/section/cat  | 
| {pathfrombaseltrim pathtotrim} | Same as 'pathltrim' but works on path without the base part - ENTERPRISE VERSION ONLY
 Example
 
{pathfrombaseltrim /section} => /cat/index.php  | 
| {pathfrombasertrim pathtotrim} | Same as 'pathrtrim' but works on path without the base part - ENTERPRISE VERSION ONLY
 Example
 
{pathfrombasertrim index.php} => /section/cat/  | 
| {preg_match N}pattern{/preg_match} | Returns the N-th matched pattern on the 'full source URL', where N = 0 when not specified - ENTERPRISE VERSION ONLY
 Example
 
{preg_match}/([^\/]+)(\.php|\.html|\.htm)/i{/preg_match} => index.php  | 
| {routeurl} | Returns the routed (relative) URL using all current variables
 Example
 
/using-joomla.html  | 
| {routeurl var1,var2,var3=myvalue,..,varN} | Returns the routed (relative) URL for specified variables
 Example
 
index.php?var1=value1&var2=value2&var3=myvalue&..&varN=valueN  | 
| {pathfolder N} | Returns the N-th folder of the URL path - ENTERPRISE VERSION ONLY
 Example
 
{pathfolder 4} of /path/to/Joomla/section/cat/index.php => section  | 
| {pathfolder last-N} | Returns the (last-N)-th folder of the URL path, where N = 0 when not specified - ENTERPRISE VERSION ONLY
 Example
 
{pathfolder last-1} of /path/to/Joomla/section/cat/index.php => cat  | 
| Site macros | |
| {sitename} | Global site name
 Example
 
Global $sitename configuration value  | 
| {globaldescription} | Global site meta description
 Example
 
Global $MetaDesc configuration value  | 
| {globalkeywords} | Global site meta keywords
 Example
 
Global $MetaKeys configuration value  | 
| {username} | Returns the current username
 Example
 
{username} => admin  | 
| {username default} | Returns the current username or the value 'default' for guest users
 Example
 
{username nobody} => nobody  | 
| {userid} | Returns the current user ID
 Example
 
{userid} => 62  | 
| {userid default} | Returns the current user ID or the value 'default' for guest users
 Example
 
{username 1001} => 1001  | 
| Database macros | |
| {tableselect table,column,key}value{/tableselect} | Returns result of a SQL query (SELECT column FROM table WHERE key = value). Support #__ notation for table name
 Example
 
{tableselect #__users,username,id}135{/tableselect} => SELECT username FROM #__users WHERE id = 135  | 
| {preg_select table,column,key,N}pattern{/preg_select} | Same as 'preg_match' but uses the matched result to execute a SQL query (SELECT column FROM table WHERE key = matchN). Support #__ notation for table name - ENTERPRISE VERSION ONLY
 Example
 
{preg_select #__content,title,id,1}/id=([0-9]+)/i{/preg_match} => SELECT title FROM #__content WHERE id = 32  | 
| {placeholder_select table,column,key1=placeholder1,..,keyN=placeholderN} | Returns result of a SQL query (SELECT column FROM table WHERE key1 = ${placeholder1} AND ... AND keyN = ${placeholderN}) where ${placeholderN} is the value of the placeholder with name placeholderN. Support #__ notation for table name. The 'placeholder' must be previously defined (just placeholder name needed, not ${} format) - ENTERPRISE VERSION ONLY
 Example
 
userId=62  | 
| String macros | |
| {substr start,length}text{/substr} | Returns the portion of string specified by the start and length parameters. String are zero-based (i.e. first char has index 0)
 Example
 
{substr 1,3}Joomla{/substr} => oom  | 
| {strip_tags}text{/strip_tags} | Strip HTML and PHP tags from the given string
 Example
 
{strip_tags}<p>hello<br/>Joomla</p>{/strip_tags} => helloJoomla  | 
| {extract N}text{/extract} | Returns the Nth sentence delimited with carriage return (DOS, UNIX or MAC format). All HTML tags stripped
 Example
 
{extract 1}<p>This is a sentence.\nAnd this is another one.</p>{/extract} => This is a sentence.  | 
| {extractp N}text{/extractp} | Returns the Nth HTML paragraph <p></p>. All HTML tags stripped
 Example
 
{extractp 2}<p>First paragraph</p><p>Second paragraph</p><p>Third paragraph</p>{/extractp} => Second paragraph  | 
| {extractdiv N}text{/extractdiv} | Returns the Nth HTML paragraph <div></div>. All HTML tags stripped
 Example
 
{extractp 3}<div>First paragraph</div><div>Second paragraph</div><div>Third paragraph</div>{/extractp} => Third paragraph  | 
| {preg_subject N,subject}pattern{/preg_subject} | Returns the N-th matched pattern on the 'subject', where N = 0 when not specified. The 'subject' can contain placeholders, but cannot contain standalone '}' chars - ENTERPRISE VERSION ONLY
 Example
 
{preg_subject 2,First/Second/Third}/([^\/]+)\/([^\/]+)\/([^\/]+)/i{/preg_subject} => Second  | 
| {preg_placeholder N,placeholder}pattern{/preg_placeholder} | Returns the N-th matched pattern on the 'placeholder' evaluated string, where N = 0 when not specified. The 'placeholder' must be previously defined (just placeholder name needed, not ${} format)
 Example
 
a=First/Second/Third  | 
| {lowercase}pattern{/lowercase} | Returns the pattern in lower case
 Example
 
{lowercase}ALL to Lower{/lowercase} => all to lower  | 
| {uppercase}pattern{/uppercase} | Returns the pattern in upper case
 Example
 
{uppercase}ALL to UppeR{/uppercase} => ALL TO UPPER  | 
| {urldecode}pattern{/urldecode} | Returns the decode pattern using urldecode() function
 Example
 
{urldecode}%2Fgoto%20home%2F{/urldecode} => /goto home/  | 
| {urlencode}pattern{/urlencode} | Returns the encoded pattern using urlencode() function
 Example
 
{urlencode}/encode me/{/urlencode} => %2Fencode%20me%2F  | 
| {rawurldecode}pattern{/rawurldecode} | Returns the decode pattern using rawurldecode() function
 Example
 
{rawurldecode}foo%20bar%40baz{/rawurldecode} => foo bar@baz  | 
| {rawurlencode}pattern{/rawurlencode} | Returns the encoded pattern using rawurlencode() function
 Example
 
{rawurlencode}foo @+%/{/rawurlencode} => foo%20%40%2B%25%2F  | 
| {str_replace search,replace}pattern{/str_replace} | Returns the pattern after replacing 'search' with 'replace'
 Example
 
{str_replace john,scott}my name is john{/str_replace} => my name is scott  |