ThinkPHP5.1修改项目前端页面的入口文件原public为自定义目录

      TP5.1  将项目默认的入口文件定义在public目录下,对于程序安全有风险,因项目的需要,需修改项目入口文件为自定义的路径,以下是我的做法:

1、将public目录下的index.php , 和 htaccess 文件移至项目根目录。

2、在项目的主执行目录,如application,或app下的Index/controller/index.php里面,修改index方法的页面跳转:

    return redirect('admin/pub/login');  // 注:index目录与admin目录是application,或app目录下的同一级目录。

    // 另: admin / pub/ login, 为 模块(目录)名称 / 控制器(controller)名称 / 方法(函数)名称

   // 如: pub/ login, 表示本 模块(目录)名称下的  控制器(controller)名称 / 方法(函数)名称

3、注意要声明命名空间:如 : namespace app\api\controller

4、 控制器要继承controller, 如 class pub extends Controller{ }

5、在项目的根目录,新建一个template的目录,在里面新建如api/pub/login.html

6、在项目根目录下的config/template.php , 加上: 'view_base' => __DIR__ . '/../template/'

7、这样通过 项目名称/index/controller/index.php 下的index()方法, 跳转到 api/controller/Pub.php 下的login() 方法,使得 template/api/pub/login.html 渲染加载显示。

8、目录结构图:

       如下图:

      

ThinkPHP5.1修改项目前端页面的入口文件原public为自定义目录_第1张图片

 

 

ThinkPHP5.1修改项目前端页面的入口文件原public为自定义目录_第2张图片

 

ThinkPHP5.1修改项目前端页面的入口文件原public为自定义目录_第3张图片

 

 

ThinkPHP5.1修改项目前端页面的入口文件原public为自定义目录_第4张图片

 

 

ThinkPHP5.1修改项目前端页面的入口文件原public为自定义目录_第5张图片

 

 

ThinkPHP5.1修改项目前端页面的入口文件原public为自定义目录_第6张图片

 

       

  

 

 

你可能感兴趣的:(技术文章)