美国虚拟主机Hostease

Mediawiki中文技术论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9708|回复: 2

[配置] 配置 MediaWiki 短路径

[复制链接]
发表于 2011-12-16 10:53:15 | 显示全部楼层 |阅读模式
美国主机侦探
我所在的前端团队使用 MediaWiki 作为文档库. 一直以来需要通过 IP 访问服务, 今天总算绑定了域名: wiki.aliluna.com. 终于不用将 Wiki 存在收藏夹了. 绑定域名后发现 MediaWiki 的路径很是复杂, 默认有以下两种形式.
  1. http://wiki.aliluna.com/mediawiki/index.php/文章标题
  2. http://wiki.aliluna.com/mediawiki/index.php?title=文章标题
复制代码
从目录结构来看, 可以认为 Wiki 的所有页面都放在一个目录里面, 再通过链接互相桥接. 默认的路径显然过于臃肿. 其实 MediaWiki 短路径, 如下即可.
  1. http://wiki.aliluna.com/文章标题
复制代码
MediaWiki 官方为这样臃肿的路径方式作出了解释, 认为这样的路径结构适合所有主机环境, 因为你不知道哪一天会迁移 Wiki, 但新的主机环境业务不能使用短路径. 但我们自己搭建的服务器, 怎么可能出现这样的情况? 再说, 不支持核心功能的主机, 不买也罢. 所以, 还是使用短路径吧, 好记...

使用 MediaWiki 短路径的方法

为了使用了简化 URL, 我做了一些修改, 下面会逐步说明.

1. 修改 MediaWiki 的本地设定文件

打开 LocalSettings.php 修改配置如下.

  1. $wgScriptPath = "";
  2. $wgArticlePath = '/$1';
  3. $wgUsePathInfo = false;
复制代码
2. 添加 .htaccess 配置

上一步已经将访问 URL 改为了短路径形式, 但还不能正常访问, 因为 Web 服务器不能通过那个路径找到网页资源. 所以我们需要通过 .htaccess 重写规则. 在 MediaWiki 的根目录新建 .htaccess, 文件内容如下.
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine on
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]
  6. </IfModule>
复制代码
如果你发现 .htaccess 没有生效, 请确认两处.

打开 httpd.conf, 将 LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 前的 # 号去除; 如果 httpd.conf 内不包含该语句, 请自行添加. (不同的服务器环境中 mod_rewrite.so 文件路径可能不一样.)
打开 Apache 配置文件 (一般是 httpd.conf 文件, Ubuntu 是 apache2.conf 文件) 或者 VirtualHost 配置文件, 将对应目录下 AllowOverride 的值改为 All.
操作后重启 Apache 服务器即可.
回复

使用道具 举报

发表于 2012-1-11 11:55:51 | 显示全部楼层
BlueHost主机优惠码
管理员,你QQ多少啊?有问题请教
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-15 14:53:30 | 显示全部楼层
BlueHost主机优惠码
苏秦 发表于 2012-1-11 11:55
管理员,你QQ多少啊?有问题请教

有问题直接在这里发帖就可以了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

美国主机评测网站

Archiver|手机版|小黑屋|Mediawiki中文技术论坛

GMT+8, 2024-4-19 01:16 , Processed in 0.039920 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表