操作
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 上遇到过一些问题),但基本设置对我来说是可行的。