URLs resolution

ContentThe [toc] macro is a standalone macro and it cannot be used inline

In a single instance of XWiki you have many sections and the URLs need to reflect all that. This documentation details the way URLs are parsed by XWiki and what means each part of it.



By default "http" is used when generating an url in XWiki.

In virtual mode, you can set "secure" parameter to true in a wiki descriptor to generate urls with "https" instead of "http". See How to edit wiki descriptor.


In virtual mode it is used to determine the wiki to access. See AccessWiki for more details.

In non-virtual mode is has no effect.

Application context (OPTIONAL)

See ShortURLs for more details on how to remove this part of the url.

It's what the web container (jetty, tomcat, glassfish, etc.) use to find XWiki in all the web applications it contains. To remove it mainly depends on the possibilities and configuration of your web container.

Servlet mapping name (OPTIONAL)

See ShortURLs for more details on how to remove this part of the url.

This is used by the container to call the right servlet.

It can be:

  • /bin/: this calls the Struts servlet which will calls the right action for the following part of the URL.
  • /wiki/[wikialias]: call the same servlet but will be use to determine the subwiki to access if xwiki.virtiual.usepath is enabled in xwiki.cfg. Notes that you can change the "wiki" part with anything else using xwiki.virtual.usepath.servletpath and by modifying web.xml to reflect the new Struts action name. See AccessWiki for more details.
  • /xmlrpc/: call xmlrpc servlet. See XMLRPC for more details.
  • /webdav/: call webdav servlet. See WebDAV for more details.
  • /rest/: call REST servlet. . See XWikiRESTfulAPI for more details.

Struts action (OPTIONAL)

See ShortURLs more more details on how to remove this part of the url.

When the servlet mapping name is bin or the value of xwiki.virtual.usepath.servletpath, XWiki use "action" identifiers to determine what is the goal of the user when going to a page.

For example if the action is "edit", XWiki will print an editor the user use to modify a page content but if the "view" action is used XWiki will execute the page content to print/render the content.


Any wiki pages is located in what is called a "space".

See Spaces for more details about spaces.


The page is what contains wiki contents, objects/classes and attachments.

If no page is specified like in the url http://host/xwiki/bin/view/Space/## the "WebHome" page name is used.


This part indicate the attachment you want to download from a particular page.

See Attachments for more details about attachments.

Query string

Standard parameters

Some of the parameters in the URL have a "system" meaning depending of the context.

view mode

  • plain: this value indicate that only the content of the page is printed (no UI). With document not in 1.0 syntax you can control the output syntax using outputSyntax and outputSyntaxVersion.
  • xml: print the exported form of a document. This is what you can find in the xar for each document.
outputSyntax and outputSyntaxVersion

With non 1.0 syntax document its possible to explicitly indicate the renderer to use. For example with outputSyntax=plain you will get the result in plain text. outputSyntaxVersion is optionnal parameter, if it's not provided XWiki will search for the last version of the renderer for the given outputSyntax syntax name. See RenderingModule for more details on renderers.

export mode

See Exports.


Actions can use URL parameters to modify there action depending of there value.

For example you can make a velocity script that print the content of this value with:

The value of the parameter is: $request.param1

if you have a parameter "param1=Hello World" the result will be

The value of the parameter is: Hello World

See Scripting for more details about scripting.


Get Connected