PHPCMS 3.0 IIS Rewrite设置方法
PHPCMS 3.0 URL 静态化功能受到网站所在服务器环境的制约,在开启此功能之前,请根据你的 Web 服务器环境,选择相应的环境配置方法.以下提供的iis6下的服务器配置
1、下载IIS Rewrite模块:http://www.phpcms.cn/download/phpcms_iis_rewrite.zip ;
2、将压缩包解压到任意目录,(如:C:/Rewrite)。然后打开“控制面板”-“治理工具”-“IIS信息服务治理器”-“网站”-“您的站点”-“属性”。在“ISAPI筛选器”项点击 “添加”, 筛选器名称填入Rewrite,可执行文件为C:/Rewrite/Rewrite.dll ;
3、重新启动IIS就可以生效了。
通过上述配置后,您就可以在PHPCMS 3.0后台中根据需要开启伪静态功能了。
在频道参数设置中,生成方式选项中选择“不生成HTML”,然后在URL静态化中有以下选项
不进行url静态化
构造的URL类似于 ./list.php?catid-1/page-5.html
构造的URL类似于 ./list-1-5.html(需要服务器支持Mod_Rewrite功能)
使用注重事项:
您可以通过 频道参数设置 中 生成方式选项 来控制 URL 静态化 的打开或关闭及其工作状态
本功能对服务器环境有非凡要求,独立主机用户需要对 Web 服务器增加相应的 Rewrite 规则,因此需要服务器权限才可使用;对于虚拟主机用户,您需要向您的空间服务商进行咨询:空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,只有满足这两条件,URL 静态化 功能才会生效。
打开 URL 静态化 后,网站一些常用链接会变成类似http://www.phpcms.cn/article/show-1-1.html形式,假如您的服务器环境不支持或者尚未配置好,访问这些链接会出现“网页无法显示”的错误信息,网站将无法正常访问。发生无法访问的现象时,请您进入治理后台,关闭 URL 静态化 功能,网站即可恢复正常状态。
本文提供的压缩包中还有一个httpd.ini文件,该文件是rewrite规则的配置文件(包含了PHPCMS 3.0和discuz5.0的rewrite规则)。内容如下(无需修改):
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rewrite 系统规则请勿修改 PHPCMS 3.0
RewriteRule ^(.*)/show-([0-9] )-([0-9] )/.html$ $1/show/.php/?itemid=$2&page=$3
RewriteRule ^(.*)/list-([0-9] )-([0-9] )/.html$ $1/list/.php/?catid=$2&page=$3
RewriteRule ^(.*)/show-([0-9] )/.html$ $1/show/.php/?specialid=$2
# Rewrite 系统规则请勿修改 Discuz! 5.0
RewriteRule ^(.*)/archiver/([a-z0-9/-] /.html)$ $1/archiver/index/.php/?$2
RewriteRule ^(.*)/forum-([0-9] )-([0-9] )/.html$ $1/forumdisplay/.php/?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9] )-([0-9] )-([0-9] )/.html$ $1/viewthread/.php/?tid=$2&extra=page/=$4&page=$3
RewriteRule ^(.*)/profile-(username|uid)-(. )/.html$ $1/viewpro/.php/?$2=$3