隐藏index.php文件

目的:想去掉浏览器地址栏中的 index.php?r= 这一块。

在/config/web.php中   ’components'=>[]   中添加如下代码:

  1. 'urlManager' => [
  2. 'enablePrettyUrl' => true,//路由的路径化
  3. 'enableStrictParsing' => false,//禁止严格url解析
  4. 'showScriptName' => false,//允许去掉index.php
  5. 'rules' => [
  6. //['class' => 'yii\rest\UrlRule', 'controller' => 'test'],
  7. ],
  8. ],

改了以上这些,?r= 可以用 / 代替访问了,但是想隐藏掉index.php还是不行。
需要在/web目录中,index.php同级的目录下添加.htaccess文件。
新建htaccess文件代码示例:

  1. Options +FollowSymLinks
  2. IndexIgnore /
  3. RewriteEngine on
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteRule . index.php

模块配置

创建模块,该目录中有子目录如Module.php, controllers,models,views 分别为对应模块类文件控制器,模型,视图等。

一个模块类文件,demo大致定义

  1. <?php
  2.  
  3. namespace app\modules\admin;
  4.  
  5. /**
  6. * admin module definition class
  7. */
  8. class Module extends \yii\base\Module
  9. {
  10. /**
  11. * {@inheritdoc}
  12. */
  13. public $controllerNamespace = 'app\modules\admin\controllers';
  14.  
  15. /**
  16. * {@inheritdoc}
  17. */
  18. public function init()
  19. {
  20. parent::init();
  21. // custom initialization code goes here
  22. }
  23. }

在/config/web.php中添加模块配置

  1. $config = [
  2. 'modules' => [
  3. 'admin' => [
  4. 'class' => 'app\modules\admin\Module',
  5. 'defaultRoute' => 'index',
  6. ],
  7. ],
  8. ]

视图 layout 布局配置和禁用

使用yii2下载安装包,加载视图会自动加载yii界面默认布局。自定义配置和禁用方法如下:

方案1:控制器内成员变量

  1. public $layout = false; //不使用布局
  2. public $layout = "main"; //设置使用的布局文件

方案2:控制器成员方法内

  1. $this->layout = false; //不使用布局
  2. $this->layout = "main"; //设置使用的布局文件

方案3:视图中选择布局

  1. $this->context->layout = false; //不使用布局
  2. $this->context->layout = 'main'; //设置使用的布局文件

yii2.0 日志写入

使用方法:

  1. 1\Yii::getLogger()->log($message, $level, $category = 'application');
  2.  
  3. 2\Yii::trace($message, $category = 'application');
  4.  
  5. 3\Yii::error($message, $category = 'application');
  6.  
  7. 4\Yii::warning($message, $category = 'application');
  8.  
  9. 5\Yii::info($message, $category = 'application;);

在/config/web.php中修改log配置,demo如下:

  1. $config = [
  2. 'log' => [
  3. 'traceLevel' => YII_DEBUG ? 3 : 0,
  4. 'targets' => [ //可以配置多个log
  5. [
  6. 'class' => 'yii\log\FileTarget', //yii2处理日志的类
  7. 'levels' => ['error', 'warning','info','trace'], //设置日志记录的级别
  8. 'logVars' => ['*'], //捕获请求参数
  9. //'categories' => ['application'], //自定义日志分类
  10. //'logFile' => '@runtime/logs/app.log', //自定义文件路径
  11. ],
  12. [
  13. 'class' => 'yii\log\FileTarget',
  14. 'levels' => ['error', 'warning','info','trace'],
  15. 'logVars' => ['*'],
  16. 'categories' => ['test'],
  17. 'logFile' => '@runtime/logs/test.log',
  18. ]
  19. ],
  20. ],
  21. ]

Yii2.0简单隐藏index.php文件和模块配置和layout布局配置禁用和日志写入配置的更多相关文章

  1. Yii Framework隐藏index.php文件的步骤

    Yii Framework隐藏index.php文件的步骤 作者:feebas 发布于:2012-4-23 13:36 Monday 分类:Yii Framework 1.开启apache的mod_r ...

  2. thinkphp5.0如何隐藏index.php入口文件

    隐藏入口文件 public/index.php 同级的.htaccess文件 [ Apache ] 方法1: <IfModule mod_rewrite.c> Options +Follo ...

  3. 记录 nginx和php安装完后的URL重写,访问空白和隐藏index.php文件的操作方法

    sudo cd /etc/nginx/; sudo vi fastcgi_params; 1.URL重写 如果你的url参数不是用?xxx传递,而是自定义的,比如用/xx/xx/xx的方式传递,那么在 ...

  4. nginx下重写隐藏index.php文件

    location / { root /项目目录/; index index.php; if (-f $request_filename/index.php){ rewrite (.*) $1/inde ...

  5. yii2.0简单使用elasticsearch

    1.安装扩展 /c/phpStudy/PHPTutorial/php/php-5.5.38/php /c/ProgramData/ComposerSetup/bin/composer.phar req ...

  6. YII2.0 用GII创建视图文件后访问404

    使用GII的CRUD Generator创建searchModelClass 和控制器类文件,视图文件后,访问控制器地址后出现404的情况. 创建过程如图所示 后来发现是控制器类 Controller ...

  7. nginx 隐藏 index.php 和 开启 pathinfo 模式的配置

    nginx 通过 location 的规则匹配将 php 转发给 php-fpm 处理后获取结果然后返回给客户端,转发模式可以通过 unix sock 或 tcp socket 方式.百度了好多文章我 ...

  8. Yii2.0基础框架

    前言:最近在用php写一个项目的接口,所以需要学习一下Yii的框架,也在这里记录一下. 整体结构 ssets文件夹:assets的作用是方便模块化,插件化的,一般来说出于安全原因不允许通过url访问p ...

  9. nginx服务器绑定多个域名、支持pathinfo路由、隐藏index.php入口文件

    这篇文章仅仅是操作,解释说明部分待更新. 1. 修改nginx的配置文件(我的配置文件在/etc/nginx/nginx.conf) [root@xxx ~]# find / -name nginx. ...

随机推荐

  1. PythonWeb框架Django搭建过程

    首先下载PyCharm专业版 破解地址:https://www.52pojie.cn/thread-997094-1-1.html 之后创建python虚拟环境(创建虚拟环境在上一篇博客) 激活虚拟环 ...

  2. 最近用到的postgresql 的一些操作

    通过Linux命令行连接:在本机上连接操作 第一步:su - postgres进入到这个:-bash-4.2$ 第二步:psql进入到数据库 切换数据库: 命令:\c dbname 进入到数据库中 查 ...

  3. P1399 [NOI2013]快餐店

    传送门 基环树的题当然先考虑树上怎么搞,直接求个直径就完事了 现在多了个环,先把非环上的直径(设为 $ans$)和环上节点 $x$ 到叶子的最大距离(设为 $dis[x]$)求出来 考虑到对于某种最优 ...

  4. 在线修改大表结构pt-online-schema-change

    使用场景 在线数据库的维护中,总会涉及到研发修改表结构的情况,修改一些小表影响很小,而修改大表时,往往影响业务的正常运转,如表数据量超过500W,1000W,甚至过亿时 在线修改大表的可能影响 在线修 ...

  5. luogu P1852 [国家集训队]跳跳棋

    luogu 直接操作是不可能的,考虑发现一些性质.可以发现如果每次跳的棋子都是两边的,那么最多只有一种方案,那么就把这样操作得到的状态记为当前状态的父亲,从一个状态这样做一定会结束.那么如果两个状态只 ...

  6. iconv_close - 关闭字符转换描述符

    总览 (SYNOPSIS) #include <iconv.h> int iconv_close (iconv_t cd); 描述 (DESCRIPTION) iconv_close 函数 ...

  7. 023-zabbix性能优化中的几个中肯建议

    随着zabbix的广泛应用,少数人的zabbix服务器在性能上出现瓶颈,或者在未来会出现性能方面的瓶颈,接下来讨论几个有效并且简单的优化方案. 服务器硬件 想通过几个简单的配置让服务器提高成倍的性能, ...

  8. 最简单的Android项目

    这是我在windows环境下,试验过的最简单Android项目,只用记事本和命令行即可完成. 环境准备 开发环境需要Java SDK(官网下载),Android SDK(官网下载). 首先安装Java ...

  9. css不常见属性之pointer-events

    MDN 上介绍为 CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的 target.pointer-events 属性值有: /* Keyword values */ po ...

  10. 【react学习二】create-react-app 接入antd 并按需加载组件

    1.安装 cnpm i babel-plugin-import --save-dev 2.使用 在根目录下的package.json下的bable中添加相应代码 "babel": ...