zhangbaozhong

一、入口文件访问优化

  入口文件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\thinkphp\library\think\Route.php)中的rule()方法

  1、打开路由文件

    C:\yingyongchengxu\wamp\tp5\application\route.php

  2、设置路由文件

    引入系统类

    use think\Route;

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

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

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

 三、页面跳转

1、方法存在的文件路径

  TP5\thinkphp\library\traits\controller\Jump.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\tpl\dispatch_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、空方法

   

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-08-19
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-05
  • 2022-12-23
  • 2021-12-24
  • 2022-12-23
  • 2019-03-28
  • 2021-10-11
相关资源
相似解决方案