
Phpcms 实现伪静态功能,能提升网站 SEO 效果并美化 URL 地址。要让 Phpcms 支持伪静态,需要同时在程序设置和服务器配置两方面进行调整。以下是详细的配置方法说明。
一、Phpcms 后台开启伪静态
登录 Phpcms 后台,在“扩展”或“URL 规则管理”中添加或修改 URL 规则:
进入“后台 → 扩展 → URL 规则管理” 点击“添加 URL 规则”或编辑已有规则 填写规则名称(如:内容页伪静态) 设置“生成内容页地址格式”,例如:/show-{$categorydir}-{$id}.html 取消勾选“是否生成 HTML”,确保选择“不生成 HTML” 保存规则后,在栏目设置中应用该伪静态规则
二、修改 Phpcms 模板中的链接调用
伪静态启用后,模板中涉及的链接需与规则匹配,否则访问会出错。
内容页链接应使用 {:get_content_url($id)} 或直接输出伪静态路径 列表页、栏目页等模板中,栏目链接可写为 /list-{$catdir}/ 确保所有 a 标签跳转地址与伪静态规则一致
三、服务器伪静态规则配置(以常见环境为例)
根据服务器类型配置重写规则,以下为常见环境示例:
立即学习“PHP免费学习笔记(深入)”;
1. Apache 环境(.htaccess 文件)
在网站根目录创建或修改 .htaccess 文件,加入如下规则:
RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^show-(.+)-([0-9]+)\.html$ index.php?m=content&c=index&a=show&catid=$2&id=$2 [L]RewriteRule ^list-(.+)$ index.php?m=content&c=index&a=lists&catdir=$1 [L]
注意:规则中的参数需与你设置的 URL 格式对应。
2. Nginx 环境
在站点配置文件 server 模块中添加重写规则:
rewrite ^/show-(.+)-([0-9]+)\.html$ /index.php?m=content&c=index&a=show&catid=$2&id=$2 last;rewrite ^/list-(.+)$ /index.php?m=content&c=index&a=lists&catdir=$1 last;
保存后重启 Nginx 服务使配置生效。
3. IIS 环境(web.config)
在 web.config 中的 zuojiankuohaophpcnsystem.webServer> 节点下添加 rewrite 规则:
<rewrite> <rules> <rule name="content_show" stopProcessing="true"> <match url="^show-(.+)-([0-9]+)\.html$" /> <action type="Rewrite" url="index.php?m=content&c=index&a=show&catid={R:2}&id={R:2}" /> </rule> <rule name="content_list" stopProcessing="true"> <match url="^list-(.+)$" /> <action type="Rewrite" url="index.php?m=content&c=index&a=lists&catdir={R:1}" /> </rule> </rules></rewrite>
四、测试与调试
完成配置后,进行以下检查:
访问伪静态地址(如 /show-news-123.html),确认页面正常打开 查看是否出现 404 错误,若有则检查重写模块是否启用 确认 Phpcms 的缓存已更新,可尝试清除缓存目录下的文件 检查服务器是否支持 Rewrite 模块(Apache 需加载 mod_rewrite)
基本上就这些。只要后台规则、模板链接和服务器重写配置三者一致,Phpcms 伪静态就能顺利运行。配置时注意正则匹配与参数传递的准确性,避免因小细节导致失败。

评论(0)