配置DokuWiki的URL重写

简介:

使用Dokuwiki搭建了一个wiki,但是wiki的url感觉不大美观。于是就设置了url重写,让它和平时看到的wiki的url一样。

DokuWiki的三种URL

默认情况下,DokuWiki不做任何的URL重写,它的原始URL是这样的:

这样默认的URL不利于有些搜索引擎不收录,而且也不易于记忆。
通过设置DokuWiki的配置设置里面的高级设置的userwrite配置选项它可以支持两种URL重写方法,利用服务器的mod_rewrite或者在DokuWiki内部自己处理URL重写。
下面是userewrite选项值的列表及其对应的URL格式:
1、默认值没有URL重写 http://wiki.qingxianyan.cn/doku.php?id=wiki:syntax
2、htaccess服务器处理 http://wiki.qingxianyan.cn/wiki:syntax
3、DokuWiki处理 http://wiki.qingxianyan.cn/doku.php/wiki:syntax

使用Apache服务器处理

先在/wiki/conf/dokuwiki.php中设置:
$conf[‘userewrite’] = 1;
Apache服务器开启Rewrite功能
apache的URL重写是使用mod_rewrite模块。在apache的配置文件中添加如下这行:

1 LoadModule rewrite_module modules/mod_rewrite.so

然后使用mod_rewrte的指令来配置URL重写规则。这些规则可以放在apache的全局配置文件内,也可以放在DokuWiki的根目录下的.htaccess文件内,事实上DokuWiki已经为了写好了这些规则放在.htaccess.dist,修改删除部分“#”注释即可 内容如下:

1 RewriteEngine on
2 RewriteBase /dokuwiki
3 RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
4 RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
5 RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
6 RewriteRule ^$ doku.php [L]
7 RewriteCond %{REQUEST_FILENAME} !-f
8 RewriteCond %{REQUEST_FILENAME} !-d
9 RewriteRule (.*) doku.php?id=$1 [QSA,L]

在RewriteBase /dokuwiki这一行,你需要根据实际情况做修改成指向你的DokuWiki目录的路径,Dokuwik就在站点根目录或者已经使用子域名解析到相应目录时,需将.htaccess 文件中的 RewriteBase /dokuwiki 行使用首字符“#”将其注释。

使用Nginx服务器处理

1 #Nginx的配置文件 /usr/local/nginx/conf/nginx.conf
01 rewrite ^(/)_media/(.*) $1lib/exe/fetch.php?media=$2 last;
02     rewrite ^(/)_detail/(.*) $1lib/exe/detail.php?media=$2 last;
03     rewrite ^(/)_export/([^/]+)/(.*) $1doku.php?do=export_$2&id=$3 last;
04     location /
05     {
06         if (!-f $request_filename)
07         {
08             rewrite ^(/)(.*)?(.*)  $1doku.php?id=$2&$3 last;
09             rewrite ^(/)$ $1doku.php last;
10         }
11     }

转载请注明:旅途@KryptosX » 配置DokuWiki的URL重写

目录
相关文章
|
6月前
|
Web App开发 编解码 运维
LNMP详解(十二)——Nginx URL重写实战
LNMP详解(十二)——Nginx URL重写实战
71 2
|
6月前
|
移动开发 前端开发 JavaScript
前端vue2、vue3去掉url路由“ # ”号——nginx配置(一)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
511 0
|
6月前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
337 0
|
3月前
|
XML Android开发 UED
"掌握安卓开发新境界:深度解析AndroidManifest.xml中的Intent-filter配置,让你的App轻松响应scheme_url,开启无限交互可能!"
【8月更文挑战第2天】在安卓开发中,scheme_url 通过在`AndroidManifest.xml`中配置`Intent-filter`,使应用能响应特定URL启动或执行操作。基本配置下,应用可通过定义特定URL模式的`Intent-filter`响应相应链接。
114 12
|
3月前
|
Shell Android开发
安卓scheme_url调端:在AndroidManifest.xml 中如何配置 Intent-filter?
为了使Android应用响应vivo和oppo浏览器的Deep Link或自定义scheme调用,需在`AndroidManifest.xml`中配置`intent-filter`。定义启动的Activity及其支持的scheme和host,并确保Activity可由外部应用启动。示例展示了如何配置HTTP/HTTPS及自定义scheme,以及如何通过浏览器和adb命令进行测试,确保配置正确无误。
|
3月前
|
前端开发 API
【API管理 APIM】APIM中如何配置使用URL路径的方式传递参数(如由test.htm?name=xxx 变为test\xxx)
【API管理 APIM】APIM中如何配置使用URL路径的方式传递参数(如由test.htm?name=xxx 变为test\xxx)
|
6月前
|
开发框架 搜索推荐 中间件
中间件应用路由和URL重写
【5月更文挑战第2天】中间件应用路由和URL重写
51 3
中间件应用路由和URL重写
|
5月前
|
Windows
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
174 0
|
6月前
|
机器学习/深度学习 人工智能 API
人工智能平台PAI产品使用合集之机器学习PAI-EAS部署好后,服务的公网API和URL怎么配置
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
编解码 运维 搜索推荐
LNMP详解(十一)——Nginx URL重写原理
LNMP详解(十一)——Nginx URL重写原理
55 0