讲述hdwiki在apache下伪静态的详细设置方法,分为Apache独立主机用户和虚拟主机用户。
Apache Web Server(独立主机用户)
首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。
Apache 1.x 的用户请检查 httpd.conf 中是否存在如下两段代码:
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c
Apache 2.x 的用户请检查 httpd.conf 中是否存在如下一段代码:
LoadModule rewrite_module modules/mod_rewrite.so
如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost>
中去,如果加在虚拟主机配置外部将可能无法使用。
若开启所有规则.则添加如下代码:
<Directory /var/www/yoursite/hdwiki/ >
# 将 RewriteEngine 模式打开
RewriteEngine on
# 修改以下语句中的 /hdwiki 为你的HDWiki目录地址,如果程序放在根目录中,请将 /hdwiki 修改为 /
RewriteBase /hdwiki
# Rewrite 系统规则请勿修改
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?$0
</Directory>
仅开启以 http://mydomain/词条名 的rewrite规则,则添加如下代码
<Directory /var/www/yoursite/hdwiki/>
# 将 RewriteEngine 模式打开
RewriteEngine on
# 修改以下语句中的 /hdwiki 为你的HDWiki目录地址,如果程序放在根目录中,请将 /hdwiki 修改为 /
RewriteBase /hdwiki
# Rewrite 系统规则请勿修改
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wiki/(.*)$ index.php?doc-innerlink-$1
</Directory>
注:/var/www/yoursite/hdwiki/为你站点的HDWiki所在目录。
如果没有安装 mod_rewrite,您可以重新编译安装 Apache,并在原有 configure 的内容中加入 --enable-rewrite=shared,然后再在 Apache 配置文件中加入上述代码即可。
修改完apache配置文件后,重启apache,然后进入HDWiki系统设置的搜索引擎优化,根据需要开启 URL 静态化功能。
Apache Web Server(虚拟主机用户)
在开始以下设置之前,请首先咨询您的空间服务商,空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,否则即便按照下面的方法设置好了,也无法使用
。
检查HDWiki所在目录中是否存在 .htaccess 文件,如果不存在,请手工建立此文件。Win32 系统下,无法直接建立 .htaccess 文件,您可以从其他系统中拷贝一份。编辑并修改
.htaccess 文件,添加以下内容:
若开启所有规则.则添加如下代码:
<IfModule mod_rewrite.c>
# 将 RewriteEngine 模式打开
RewriteEngine on
# 修改以下语句中的 /hdwiki 为你的HDWiki目录地址,如果程序放在根目录中,请将 /hdwiki 修改为 /
RewriteBase /hdwiki
# Rewrite 系统规则请勿修改
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?$0
</IfModule>
仅开启以 http://mydomain/词条名 的rewrite规则,则添加如下代码:
<IfModule mod_rewrite.c>
# 将 RewriteEngine 模式打开
RewriteEngine on
# 修改以下语句中的 /hdwiki 为你的HDWiki目录地址,如果程序放在根目录中,请将 /hdwiki 修改为 /
RewriteBase /hdwiki
# Rewrite 系统规则请勿修改
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wiki/(.*)$ index.php?doc-innerlink-$1
</IfModule>
编辑完.htaccess文件,将 .htaccess 文件上传到网站跟目录中。然后进入HDWiki系统设置的搜索引擎优化,根据需要开启 URL 静态化功能。 |