在Yii2.0框架中,可以通过配置路由规则来处理URL请求。路由规则通常定义在应用程序的配置文件中,主要有两种方式:
使用数组配置:
return [
// ...
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'post/<id:\d+>' => 'post/view',
'posts' => 'post/index',
],
],
],
];
在上面的示例中,'enablePrettyUrl'配置为true时,Yii2.0将使用美化URL,隐藏index.php文件。'showScriptName'配置为false时,将隐藏入口脚本名称(如:index.php)。'rules'数组定义了两个路由规则。第一个规则将post/id:\d+转发到post/view,其中id:\d+是一个命名参数,表示id必须是一个数字。第二个规则将posts转发到post/index。
使用字符串配置:
return [
// ...
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'post/<id:\d+>' => 'post/view',
'posts' => 'post/index',
],
],
],
];
在上面的示例中,'enablePrettyUrl'配置为true时,Yii2.0将使用美化URL,隐藏index.php文件。'showScriptName'配置为false时,将隐藏入口脚本名称(如:index.php)。'rules'数组定义了两个路由规则。第一个规则将post/id:\d+转发到post/view,其中id:\d+是一个命名参数,表示id必须是一个数字。第二个规则将posts转发到post/index。
Yii2.0框架支持以下路由规则:
简单规则:以字符串形式指定路由规则。
带参数规则:包含命名参数和通配符参数。
正则表达式规则:基于正则表达式指定路由规则。
HTTP方法规则:基于HTTP方法指定路由规则。
反向解析规则:将URL转换为路由。
重定向规则:将URL重定向到其他URL。
模式规则:根据当前请求的控制器和操作选择路由规则。