PHPCms:伪静态设置-PHPCms教程

作者:网络 来源:佚名 更新时间:2008-07-04 点击:

1.iis 下伪静态设置

首先请下载以下附件: iis rewrite模块 附件:rewrite.rar

其中httpd.ini为配置文件内容如下:

[isapi_rewrite]

# 3600 = 1 hour
cacheclockrate 3600

repeatlimit 32

# protect httpd.ini and httpd.parse.errors files
# from accessing through http

# rewrite 系统规则请勿修改 phpcms3.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


将其解压到任意目录,如: c:\rewrite

打开“控制面板→治理工具→iis信息服务治理器→网站→您的站点→属性”。在“isapi筛选器”项点击 “添加”, 筛选器名称填入rewrite,可执行文件为c:\rewrite\rewrite.dll (假如您解压到其它目录请填入相应地址)

重新启动iis.

看到状态为向上时成功。

2.apache 下伪静态设置

请首先咨询您的空间服务商,空间是否支持 rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,否则即便按照下面的方法设置好了,也无法使用。(需要服务器支持apache的mod_rewrite功能)

服务器端设置 rewrite:

1,虚拟主机用户:

------------------------------------------------------------------------

打开文件httpd.conf 文件(apache目录下面的文件)

以apache2.2.3设置为例,配置虚拟主机下的rewrite


在主目录里面需要添加代码 allowoverride options fileinfo

取消 loadmodule rewrite_module modules/mod_rewrite.so前面的 #

重新启动apache.

-------------------------------------------------------------------------

apache web server(独立主机用户)

首先确定您使用的 apache 版本,及是否加载了 mod_rewrite 模块。 |||

apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:

loadmodule rewrite_module libexec/mod_rewrite.so

addmodule mod_rewrite.c

apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:

loadmodule rewrite_module modules/mod_rewrite.so

假如存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注重,假如网站使用通过虚拟主机来定义,

请务必加到虚拟主机配置,即 <virtualhost> 中去,假如加在虚拟主机配置外部将可能无法使用。改好后然后将 apache 重启。

<ifmodule mod_rewrite.c>
rewriteengine on
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
</ifmodule>


假如没有安装 mod_rewrite,您可以重新编译 apache,并在原有 configure 的内容中加入 --enable-rewrite=shared,

然后再在 apache 配置文件中加入上述代码即可。

2, 将以下代码保存为.htaccess 并上传到网站目录下

# 将 rewriteengine 模式打开
rewriteengine on

# 修改以下语句中的 / 为你的网站目录地址,假如程序放在二级目录中,如/phpcms 请将 / 修改为 /phpcms
rewritebase /

# rewrite 系统规则请勿修改
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

或者下面下面的文件到网站目录:点击下载

3,设置频道的生成方式:

某频道下---频道参数设置--生成方式


4,效果如图: