操作
Lighttpd 上的 DokuWiki 干净 URL¶
这是来自 irc.freenode.net #lighttpd 的 darix 提供的一个版本,修复了许多错误,例如可选的尾部斜杠等。
#!lighttpdconf
$HTTP["host"] =~ "some.otherhost.com" {
server.document-root = "/var/www/htdocs"
# DO NOT FORGET THE TRAILING SLASH HERE
# var.wiki_base = "/wiki/"
# var.wiki_base = "/"
var.wiki_base = "/"
#
$HTTP["url"] =~ "^" + var.wiki_base {
#RewriteRule ^$ doku.php [L]
#RewriteRule ^index.php$ doku.php
index-file.names = ("doku.php")
}
url.rewrite = (
#
"^" + var.wiki_base + "lib/.*$" => "$0",
#RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
#RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
#RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
#RewriteRule (.*) doku.php?id=$1 [QSA,L]
#RewriteRule ^index.php$ doku.php
"^" + var.wiki_base + "_media/(.*)" => var.wiki_base + "lib/exe/fetch.php?media=$1", # [QSA,L]
"^" + var.wiki_base + "_detail/(.*)" => var.wiki_base + "lib/exe/detail.php?media=$1", # [QSA,L]
"^" + var.wiki_base + "_detail/(.*)\?id(.*)" => var.wiki_base + "lib/exe/detail.php?media=$1&id=$2", # [QSA,L]
"^" + var.wiki_base + "_export/([^/]+)/(.*)" => var.wiki_base + "doku.php?do=export_$1&id=$2", # [QSA,L]
"^" + var.wiki_base + "doku.php.*" => "$0",
"^" + var.wiki_base + "index.php/(.*)" => var.wiki_base + "doku.php?id=$1",
"^" + var.wiki_base + "index.php\?display=(.*)" => var.wiki_base + "doku.php?id=$1",
"^" + var.wiki_base + "index.php.*" => "$0",
"^" + var.wiki_base + "feed.php.*" => "$0",
"^" + var.wiki_base + "sitemap.xml.gz" => "$0",
"^" + var.wiki_base + "(.*)\?(.*)" => var.wiki_base + "doku.php?id=$1&$2", # [QSA,L]
"^" + var.wiki_base + "(.*)" => var.wiki_base + "doku.php?id=$1", # [QSA,L]
)
}
DokuWiki 配置¶
在 local.php 或 local.protected.php 中,添加
$conf['userewrite'] = '1';
可能缺少一些东西(我在 detail.php 上遇到过一些问题),但基本设置对我来说是可行的。