PHPCMS可通过修改模块路由文件实现自定义URL规则。1. 在/phpcms/modules/模块名/下创建route.php;2. 返回数组定义映射,如'news'指向分类列表,'article/(:num)'传参id;3. 启用伪静态并配置Apache或Nginx重写规则;4. 清除缓存后测试访问。需注意启用mod_rewrite并避免规则冲突,修改前建议备份文件。

PHPCMS 默认使用的是模块-控制器-方法的路由结构,但在实际开发中,可能需要自定义 URL 路由规则以优化 SEO 或提升用户体验。修改默认路由配置可以通过调整系统路由文件来实现。
PHPCMS 的路由配置通常位于以下路径:
如果 route.php 文件不存在,可以手动创建。例如,为内容模块(content)设置自定义路由,则在 /phpcms/modules/content/ 目录下新建 route.php 文件。
在 route.php 中返回一个数组,定义 URL 映射关系。格式如下:
立即学习“PHP免费学习笔记(深入)”;
return array(
'news' => array('m' => 'content', 'c' => 'index', 'a' => 'lists', 'catid' => 5),
'article/(:num)' => array('m' => 'content', 'c' => 'index', 'a' => 'show', 'id' => ':1'),
);
说明:
index.php?m=content&c=index&a=lists&catid=5
news
:1
id
完成路由设置后,需开启伪静态,并让服务器正确解析请求。
以 Apache 为例,在项目根目录的 .htaccess 添加:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
Nginx 用户则需在 server 配置中添加:
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
修改完成后,进入后台清除缓存(或删除 /caches/configs/route.php),然后访问你设置的自定义路径测试是否生效。
注意:确保 PHP 的 mod_rewrite 模块已启用,且 URL 重写功能正常工作。
基本上就这些,合理配置路由能提升网站可读性和维护性,但要注意避免规则冲突。修改前建议备份原文件。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号