跳到主要内容

配置文件

正确安装好rpcms后,会在根目录/setting/config/default.php生成默认配置文件,记录数据库等信息。
进行数据库更换等操作时,需要手动编辑此文件来完成操作。

路由配置

系统默认有index应用的路由文件,在根目录/setting/route/index.php,你可以通过编辑此文件来更改路由规则。或通过 自定义路由规则 插件来完成。

路由规则

在V2.0版本中,优化了路由功能,可以自定义路由规则来实现个性化URL。

提示

所有应用都支持自定义路由,其他应用若实现自定义路由可参考/setting/route/index.php文件。

规则写法

return [
[
'model'=>'/index/logs/detail',
'pattern'=>'post/<id><page#_?>',
],
[
'model'=>'/index/logs/dates',
'pattern'=>'date/<date><page#_?>',
'replace'=>['date'=>'\d{6,8}'],
'ext'=>'php|html'
],
];
  • model:模块路径,格式:应用/控制器/方法
  • pattern:自定义的路由规则
  • replace:变量规则(正则表达式)
  • ext:后缀名,支持多个,未配置则默认html。(V2.5.4)

路由规则介绍

<变量名称#分割符号>,如果变量是可选变量,在后面加入英文的问号即可,如:<number#_?>

关于分割符号

变量分割符支持的符号有:@ ~ . , \ | _ -
斜线分隔符请用反斜线代替。

在使用分割符号的时候,要避免和别名中的符号重复(特别是index应用) 如:分类的别名为:cate_name,那么对应的路由规则中变量分隔符号就不能用 _ ,否则会造成冲突,导致数据错误。

如果变量为可选变量,且前面有其他变量,那么就必须要有分割符号,如:

1、post/<id>
此处为URL间隔符号,id变量的分隔符号可选

2、post/<id><page#_?>
page变量可选,但page变量前有id变量,那么page变量中就必须定义分割符号

关于变量规则

可以为指定变量自定义验证规则(正则表达式)。
其中,当变量名为:page,会使用内置(\d+)规则,其他若无指定规则的变量则使用([A-Za-z0-9-]+)

如何获取变量值

当用户访问自定义的路由地址时,系统会自动解析并给相应类的构造函数传参param(array类型),可通过此参数获取,如:$this->param['id']