======Dokuwiki SEO 技术:Dokuwiki URL 重写 ======
Dokuwiki提供三种URL网址格式,通过修改配置文件(dokuwiki.php)中的$conf['userewrite']值来实现:
下面是userewrite选项值的列表及其对应的URL格式:
*0 <-> 默认值,没有URL重写: http://www.pythonclub.org/index.php?id=dokuwiki:start
*1 <-> Apache服务器处理: http://www.pythonclub.org/dokuwiki/start
*2 <-> DokuWiki处理: http://www.pythonclub.org/index.php/dokuwiki:start
===== Dokuwiki 默认URL格式 =====
==== 默认URL设置 ====
$conf['userewrite'] = 0;
默认情况下,DokuWiki不做任何的URL重写,它的原始URL是这样的:
http://www.pythonclub.org/index.php?id=dokuwiki:start
这样的URL是比较难看的,更重要的是有些搜索引擎不收录,虽然google号称能够识别这些查询网址,但是这对SEO是非常不利的。
===== Dokuwiki通过Apache服务器处理URL重写 =====
==== Dokuwiki 设置 ====
$conf['userewrite'] = 1;
==== Apache服务器设置 ====
.htaccess 是Apache服务器的配置文件,在dokuwiki所在的文件夹下面创建这个文件,文件内容为:
RewriteEngine on
# Not all installations will require the following line. If you do,
# change "/dokuwiki" to the path to your dokuwiki directory relative
# to your document root.
#RewriteBase /dokuwiki
# If you enable DokuWikis XML-RPC interface, you should consider to
# restrict access to it over HTTPS only! Uncomment the following two
# rules if your server setup allows HTTPS.
RewriteCond %{HTTPS} !=on
RewriteRule ^lib/exe/xmlrpc.php$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
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 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L]
RewriteRule ^index.php$ doku.php
其中有个参数是RewriteBase,是用来指定URL重写的目录,如果.htaccess文件就在dokuwiki所在的文件夹就不需要设置这个选项。
===== DokuWiki自己重写URL =====
==== Dokuwiki设置 ====
$conf['userewrite'] = 2;
这样设置就可以了,不需要设置Apache服务器的.htaccess文件了。