phpcms修改默认路由配置教程-1

PHPCMS 默认使用的是模块-控制器-方法的路由结构,但在实际开发中,可能需要自定义 URL 路由规则以优化 SEO 或提升用户体验。修改默认路由配置可以通过调整系统路由文件来实现。

1. 找到路由配置文件

PHPCMS 的路由配置通常位于以下路径:

/caches/configs/system.php —— 系统级配置(不推荐直接修改) /phpcms/modules/模块名/route.php —— 模块级路由配置文件

如果 route.php 文件不存在,可以手动创建。例如,为内容模块(content)设置自定义路由,则在 /phpcms/modules/content/ 目录下新建 route.php 文件。

2. 编写自定义路由规则

在 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’),);

说明:

‘news’:访问 index.php?m=content&c=index&a=lists&catid=5 可通过 news 地址访问 ‘article/(:num)’:匹配数字参数,:1 表示第一个括号内的值,用于传参 id (:num) 匹配数字,(:any) 匹配任意字符

3. 启用伪静态并配置 Web 服务器

完成路由设置后,需开启伪静态,并让服务器正确解析请求。

以 Apache 为例,在项目根目录的 .htaccess 添加:

RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

Nginx 用户则需在 server 配置中添加:

location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; }}

4. 更新缓存并测试

修改完成后,进入后台清除缓存(或删除 /caches/configs/route.php),然后访问你设置的自定义路径测试是否生效。

注意:确保 PHP 的 mod_rewrite 模块已启用,且 URL 重写功能正常工作。

基本上就这些,合理配置路由能提升网站可读性和维护性,但要注意避免规则冲突。修改前建议备份原文件。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。