Manual:Short URL/wiki.example.com/Page title--Subdomain using Lighttpd

From Linux Web Expert

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Subdomain with no Subdirectory in Article URL using Lighttpd

1>Manual:Wiki in site root directory </> for potential problems and solutions.</translate>

To put MediaWiki in a root directory with the Lighttpd webserver, use the following rule (assuming mod_rewrite is loaded and your wiki is installed into /w relative to your document-root):

In LocalSettings.php

$wgScriptPath = '/w';        # Path to the actual files. This should already be there
$wgArticlePath = '/$1';  # Virtual path. This directory MUST be different from the one used in $wgScriptPath
$wgUsePathInfo = false; # To get special links like history or edit work

In your lighttpd.conf

url.rewrite-once = (
   "(^/[^:]*[\./].*)" => "$1",
   "^/([^?]*)(?:\?(.*))?" => "/w/index.php?title=$1&$2",
)

If you want to host this on a seperate domain (which is very likely for a wiki in the root-dir) do:

$HTTP["host"] == "wiki.example.com" {
   server.document-root = "/path/to/webroot"
   url.rewrite-once = (
       "(^/[^:]*[\./].*)" => "$1",
       "^/([^?]*)(?:\?(.*))?" => "/w/index.php?title=$1&$2",
   )
}

If you want to allow ampersands in titles too (or any other character that might be considered an argument delimiter in the query string) you can make a more complicated rule using mod_magnet. For more information, see lighttpd's documentation about mod_magnet on their website.

See also