hdwiki 在IIS 下的伪静态

时间:2023-02-10 19:45:49

HDwiki有SEO设置的功能,此功能可以将HDwiki的页面进行URL静态化转换,从而使HDwiki内容更容易被搜索引擎挖掘,提高被收录的机率。
注意事项
        1、本功能对服务器环境有特殊要求,独立主机用户需要对 Web 服务器增加相应的 Rewrite 规则,因此需要服务器权限才可使用。对于虚拟主机用户,您需要向您的空间服务商进行咨询:空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,只有满足这两条件,URL 静态化 功能才会生效。
2、打开 URL 静态化后,如果您的服务器环境不支持或者尚未配置好,访问这些链接会出现“网页无法显示”的错误信息,HDwiki将无法正常访问。发生无法访问的现象时,请您进入管理后台,关闭URL静态化功能,网站即可恢复正常状态。
相关设置
IIS环境的设置
        URL 静态化功能受到HDwiki所在服务器环境的制约,在开启此功能之前,请根据你的 Web 服务器环境,选择相应的环境配置方法。错误的设置有可能造成服务器无法启动或者功能无效。

IIS Web Server(ISAPI rewrite 3.0版本)(独立主机用户)
请下载ISAPI rewrite 3.0版本(此处下载 http://www.helicontech.com/download-isapi_rewrite3.htm),安装。之后打开配置文件 httpd.conf,将下列规则加入:
若开启所有规则.则添加如下代码:  
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#下面的"(/HDwiki)"为HDwiki所在的目录名,如果HDwiki就在根目录,则将"(/HDwiki)"改成"(/)"
RewriteRule ^(/HDwiki)/(.*)$ $1/index.php?$2 [R=301,L]
仅开启以 http://mydomain/词条名 的rewrite规则,则添加如下代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#下面的"(/HDwiki)"为HDwiki所在的目录名,如果HDwiki就在根目录,则将"(/HDwiki)"改成"(/)"
RewriteRule ^(/HDwiki)/wiki/(.*)$ $1/index.php?doc-innerlink-$2

如果是商业版的ISAPI rewrite ,则.htaccess文件,将apache的.htaccess文件复制过来,改下路径即可。apache的rewrite规则请参照:HDwiki在Apache伪静态

IIS Web Server(ISAPI rewrite 1.3版本)(独立主机用户)

打开配置文件 httpd.conf,将下列规则加入:
HDwiki为根目录的情况:
全部开启的规则如下:

RewriteRule ^/(.*).(htm|html|shtml|tpl|asp|jsp|php|do)$ /index.php?$1

注:此时选的后缀名必须为:htm|html|shtml|tpl|asp|jsp|php|do,不能选择空,

开启以“http://mydomain/wiki/词条名”的rewrite规则如下:

RewriteRule ^/wiki/(.*)$ /index.php?doc-innerlink-$1

HDwiki为子目录的情况:

如HDwiki在名为"baike"的目录下

全部开启的规则如下:

RewriteRule ^/baike/(.*).(htm|html|shtml|tpl|asp|jsp|php|do)$ /baike/index.php?$1

开启以“http://mydomain/wiki/词条名”的rewrite规则如下:
RewriteRule ^/baike/wiki/(.*)$ /baike/index.php?doc-innerlink-$1

具体可参考:http://kaiyuan.hudong.com/bbs/viewthread.php?tid=10341&extra=&highlight=rewrite&page=1

此操作有点复杂,可以参考下一篇博文 : wamp集成环境开启rewrite伪静态支持