[Wiki设置]MediaWiki伪静态化的办法

伪静态化,好象是个说的很多的话题,就本站来讲, LB 的伪静态化,MT tag的伪静态化,MT search 的伪静态化等等。 一个目标就是 SEO 吧:) 另外一个目标就是“用户友好”。这些大多数都是通过 ".htaccess" 来完成的。MediaWiki 也不例外。

MediaWiki 的默认联结是 index.php?title=XXXXX,要让变成 show/XXXXX样式,用.htaccess设置起来很简单:
在 .htaccess 中添加以下规则


RewriteEngine on
RewriteRule show/(.+) /pathtoWiki/index.php?title=$1

然后修改LocalSettings.php 中 $wgArticlePath 的值

$wgArticlePath = "$wgScriptPath/show/$1";

这样就大功告成。

但是,这样似乎并不是效率最高的。
效率最高的办法是不用地址重写:
1.改名字:


mv index.php show
mv redirect.php redirect

2.修改.htaccess 规则


<Files ~ (show|redirect)>
ForceType application/x-httpd-php
</Files>
DirectoryIndex show

3.修改修改LocalSettings.php 中 $wgScript,$wgRedirectScript,$wgArticlePath 的值

$wgScript = "$wgScriptPath/show";
$wgRedirectScript = "$wgScriptPath/redirect";
$wgArticlePath = "$wgScript/$1";

因为没有使用 mod_rewrite ,网站的负荷下降,效率当然提升了:)

PS: 我作这个的原因因为 PerlChina Wiki Site, 演示在本地的测试Wiki