YII默认的访问地址一般为localhost://basic/web/index.php?r=控制器ID/方法ID
但如果显示称为localhost://basic/web/index.php/控制器ID/方法ID
或是localhost://basic/web/控制器ID/方法ID
应该怎么配置呢?
需要在config/web.php中添加如下内容:
'urlManager' => [
'enablePrettyUrl' => true, //改为/形式
'showScriptName' => false, //去掉index.php 同时需要创建.htaccess文件
'suffix' => '.html',//在后面加.html后缀
'rules' => [ //编写规则
],
],
仅仅做以上修改是不够的,我们还需要开启apache的mod_rewrite模块去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号
确保<Directory "..."></Directory>中“AllowOverride All” 默认是none,修改之后重启Apache
在web/里面创建文件“.htaccess”(即入口文件index.php的同级目录)内容如下
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
到此配置就算完成了,当然大家也可以根据官方文档上面的,去编写rules里面的东西。