Wiki source code of Standard URL Format

Version 15.1 by Thomas Mortagne on 2008/12/10

Show last authors
1 1 URLs resolution
3 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.
5 {image:url.png}
7 1.1 Protocol
8 By default "http" is used when generating an url in XWiki. You can set "secure" parameter to true in a wiki descriptor to generate urls with "https" in "http".
10 See [How to edit wiki descriptor>manager:AdminGuide.EditWiki].
12 1.1 Host
13 * The first thing XWiki do to find the right wiki the URL is pointing to is by trying to find <tt></tt> in the list of wiki descriptors. Comparing with the content of field <tt>server</tt> in objects of class XWiki.XWikiServerClass
14 * If no descriptor can be found:
15 ** if the host is an IP (,, etc.) XWiki goes to main wiki
16 ** if the first part of the host name (what is before the first point) is "www" XWiki goes to main wiki
17 ** if the first part of the host name match a wiki identifier XWiki goes to this wiki
19 1.1 Application context (OPTIONAL)
21 See [platform:Main.ShortURLs#HApplicationname] for more details on how to remove this part of the url.
23 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.
25 1.1 Servlet mapping name (OPTIONAL)
27 See [platform:Main.ShortURLs#HServletmappingname] for more details on how to remove this part of the url.
29 This is used by the container to call the right servlet.
31 It can be:
32 * /bin/: it's the default action is none is specified. It calls the standard XWiki view to edit/view/delete wiki page etc.
33 * /wiki/wikialias: call the same servlet but will be use to determine the subwiki to acces if <tt>xwiki.virtiual.usepath</tt> is enabled in <tt>xwiki.cfg</tt>. Notes that you can change the "wiki" part with anything else using <tt>xwiki.virtual.usepath.servletpath</tt> and by modifying web.xml to reflect the new Struts action name. If the struts action name is the same that.
34 ** XWiki tries to match a wiki descriptor with the provided <tt>wikialias</tt> like it was a domain name
35 ** then if it can't find any wiki descriptor it search for it with <tt>wikialias</tt> as wiki name
36 * /xmlrpc/: call xmlrpc servlet.
37 * /webdav/: call webdav servlet. See [dev:Drafts.WebDAV] for more details.
38 * /skins/: acces skin files like javascript, css, images, etc.
39 * /yui/
40 * /tinymce/
41 * /wikieditor/
42 1.1 Struts action (OPTIONAL)
44 See [platform:Main.ShortURLs#HStrutsactionname] more more details on how to remove this part of the url.
46 When the servlet mapping name is <tt>bin</tt> or the value of <tt>xwiki.virtual.usepath.servletpath</tt>, XWiki use "action" identifiers to determine what is the goal of the user when going to a page.
48 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.
50 1.1 Space
51 All XWiki page are located in what is called a "space". You have only one level of space but you can indicate a "parent space" for a space.
53 1.1 Page
54 The page is what contains wiki contents and objects/classes and attachments.
56 1.1 Attachment
57 This part indicate the attachment you want to download from a particular page.
59 1.1 Query string
60 Actions can use URL parameters to modify there action depending of there value.
62 For example you can make a velocity script that print the content of this value with:
63 {code}
64 The value of the parameter is: $request.param1
65 {code}
66 if you have a parameter "param1=Hello World" the result will be
67 {code}
68 The value of the parameter is: Hello World
69 {code}

Get Connected