经常访问一些博客网站,点击文章之后的url地址总是http://.......10.html等,这样的形式就是利用了框架的路由进行了控制,yii2里面也提供了我们修改路由规则的方法,首先我们找到所要设置的路由规则的配置文件,yii2经过优化之后分了2个操作应用,一个是frontend和backend我目前在backend里面的config进行了配置,找到main.php文件
找到 components配置我们加入代码:
'components' => [
'assetManager' => [
'basePath' => '@webroot/backend/web/assets',
'baseUrl' => '@web/backend/web/assets'
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
],
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'errorHandler' => [
'errorAction' => 'site/error',
],//加入的url配置
'urlManager' => [
'enablePrettyUrl' => true,//开启URL美化
'showScriptName' => false,//禁用index.php文件
'rules' => [
'test/<id:\d+>.html' => 'test/articlelist',//设置自己的路由规则,这里我设置了一个控制器里面的一个方法的规则,只要满足了这个规则就会跳转到相应的方法去处理
]
],
],
写一个测试控制器:
<?php
namespace backend\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use common\helpers\Helper;
class TestController extends Controller
{
public $layout = false; //不使用布局
public $enableCsrfValidation=false;
public function actionArticlelist(){
print_r($_GET);
}
public function actionMymethod(){
echo "Hello";
}
}
我们试着访问看是否成功:
看来是跳转了,是否影响了其他方法呢?
看来 只有符合路由规则的才会进行相应的跳转,好了,yii2的路由设置就是这样,希望可以帮助到大家。