• 0802THINKPHP基础:入口文件、路由、页面跳转、重定向、空模块、空控制器、空方法


    一、入口文件访问优化

      入口文件index.php:只能去前台模块

      入口文件admin.php:只能去后台模块

      1、在public文件夹下建立admin.php文件

      2、打开admin.php文件,复制

      //定义应用目录

      define('APP_PATH', __DIR__ . '/../application/');

      //加载框架引导文件

      require __DIR__ . '/../thinkphp/start.php';

      3、分别在两个入口文件中绑定模块

      index.php文件中绑定define('BIND_MODULE', 'index'); 

      admin.php文件中绑定define('BIND_MODULE','admin' );

      之前的访问

           Index.php/index/Index/index   admin.php/admin/Index/index

           修改后的访问(省略了模块项)

           Index.php/Index/index         admin.php/Index/index  (入口文件)、(控制器)、(方法)

      4、隐藏入口文件 

      pache的配置过程,可以参考下:
           a、httpd.conf配置文件中加载了mod_rewrite.so模块

           b、AllowOverride None None改为 All  在虚拟主机中把这一项改为All

      c、在应用入口文件同级目录添加.htaccess文件,内容如下:

        RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  其中的index.php就是入口文件,     如果隐藏后台的入口文件  则改成admin.php

        全部文件:

        <IfModule mod_rewrite.c>

        Options +FollowSymlinks -Multiviews

        RewriteEngine on

        RewriteCond %{REQUEST_FILENAME} !-d

        RewriteCond %{REQUEST_FILENAME} !-f

        RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

        </IfModule>

      d、重启服务

        url地址变化:

        隐藏前:http://www.thinkphp.com/index.php/index/index

        隐藏后:http://www.thinkphp.com/index/index

    二、设置路由

      动态单个注册(TP5 hinkphplibrary hinkRoute.php)中的rule()方法

      1、打开路由文件

        C:yingyongchengxuwamp p5application oute.php

      2、设置路由文件

        引入系统类

        use thinkRoute;

        定义路由规则、设置路由之后就不能使用pathinfo访问了

        未绑定入口文件:Route::rule('newname','index/index/index');

        已绑定入口文件:Route::rule('newname','index/index');

     三、页面跳转

    1、方法存在的文件路径

      TP5 hinkphplibrary raitscontrollerJump.php

      成功跳转  $this->success();

      失败跳转  $this->error();

    2、以登录功能为例:

    3、成功和失败页面的文件路径配置  application/config.php

      // 默认跳转页面对应的模板文件

      'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',  

      'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',

      模板文件的路径:thinkphp pldispatch_jump.tpl

      也可以自己指定模板,然后自己设计就可以

      'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'success.tpl',

      'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'error.tpl',、

    四、重定向

    五、空模块、空控制器、空方法

      对于url中的恶意输入

      1、空模块:在application/route.php添加

      全局MISS路由
      '__miss__' => ['index/Index/index', ['method'=> 'get']],

      2、空控制器  新建Error控制器

        

      3、空方法

       

  • 相关阅读:
    解决ipad连接不上电脑的问题
    解决ping 127.0.0.1 一般故障 问题
    DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型
    DeepLearning.ai学习笔记(四)卷积神经网络 -- week4 特殊应用:人力脸识别和神经风格转换
    pip安装 exception记录
    Ubuntu ./configure 半途终止 导致没有生成makefile文件 解决方法
    Open Data Structure Templates
    Win7 下安装VirtualBox 没有Ubuntu 64bit 选项问题
    DataStructure 排序 源码实现
    DS实验题 融合软泥怪-2 Heap实现
  • 原文地址:https://www.cnblogs.com/zhangbaozhong/p/9406459.html
Copyright © 2020-2023  润新知