如需VPS代购、PHP开发、服务器运维等服务,请联系博主QQ:337003006
DokuWiki是一个开源wiki引擎程序,运行于PHP环境下。DokuWiki程序小巧而功能强大、灵活,适合中小团队和个人网站知识库的管理。最近刚开始使用这个程序,非常的简洁方便,那么为了SEO考虑,通常第一步便是设置伪静态,那么DokuWiki在Nginx WEB服务器下如何设置呢?
下面是个人的Nginx vhost配置文件,添加到nginx重写规则中,供参考:
server { listen 80; server_name zhuji.wiki www.zhuji.wiki; access_log /data/wwwlogs/zhuji.wiki_nginx.log combined; index index.html index.php duku.php; include /usr/local/nginx/conf/none.conf; root /data/wwwroot/zhuji.wiki; location / { try_files $uri $uri/ @dokuwiki; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(?!lib/)(.*) /doku.php?id=$1&$args last; } location ~ [^/].php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*.(js|css)?$ { expires 7d; access_log off; } }
核心规则如下,需要加入server段内:
location / { try_files $uri $uri/ @dokuwiki; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(?!lib/)(.*) /doku.php?id=$1&$args last; } location ~ .*.(js|css)?$ { expires 7d; access_log off; }
下面一步,将conf/local.php中加入一行:
$conf['userewrite'] = 2;
最后修改dokuwiki后台设置,后台 -> 管理 -> 配置管理器 -> 高级设置 -> 使用更整洁的 URL,选中.htaccess保存后查看效果。
详细规则,请参考官方说明:dokuwiki伪静态