有时我们想将请求的url,使用路径模式来访问。那么我们需要做如下操作
一、开启apache的 mod_rewrite 模块,在apache的配置文件中
1. 去掉LoadModule rewrite_module modules/mod_rewrite.so 前的“#”符号;
2. 把web目录区块下的 AllowOverride None 修改为 AllowOverride All;
配置完后,记得重启apache
二、在入口文件所在的目录下,创建一个.htaccess 文件,内容如下:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
三、修改yii的配置文件, 本人的是 “项目名/config/web.php” 添加或者修改如下代码:
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
.....
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
// 'tests/<name:\w+>' => 'backend/home/test', //模式路由
// [ //配置数组
// 'pattern' => 'posts',
// 'route' => 'backend/home/login',
// 'suffix' => '.json'
// ],
// '/blogs' => '/blog/index',
// "<controller:\w+>/<action:\w+>" => "<controller>/<action>",
],
],
],
.....
];