最近要写一个说明文档,于是就用上了MediaWIKI。
这东西默认情况下,文章地址格式为http://domain/index.php?title=标题。
如果要改成使用http://domain/标题 的方式访问,rewrite规则明显有点繁琐,除非使用 if -e判断文件是否存在,否则正则表达式的.*会把一切东西,包括静态资源也匹配进去。
想了想,于是决定把文章的地址都变成子目录的形式:http://domain/wiki/标题,这样的话伪rewrite规则就变得简单多了,对/wiki进行匹配即可,仅需一行代码:
1 |
rewrite ^/wiki/(.*) index.php?title=$1 last; |
然后修改MediaWIKI的配置文件LocalSettings.php,修改与文章地址有关的变量wgArticlePath的值(没有的话就加进去):
1 |
$wgArticlePath = "/wiki/$1"; |
这样文章的地址格式就会变为/wiki/标题了
最后重启Nginx,再次访问WIKI:
可以看到,文章的地址格式已成功变为/wiki/标题,且无发现错误。
Comments are closed.