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

From MediaWiki.org
Jump to navigation Jump to search

Subdomain with no Subdirectory in Article URL using Lighttpd[edit]

Warning Warning: This is probably only appropriate if your domain is only being used for MediaWiki, but even then it is typically not recommended, as this setup can leave some titles unusable. See Manual:Wiki in site root directory and Cool URIs don't change.

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[edit]

$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[edit]

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[edit]