当前位置:   article > 正文

thinkphp5.0学习(四):入口文件、路由模式、路由设置和url生成

thinkphp5.0学习(四):入口文件、路由模式、路由设置和url生成

一、路由的作用

  • 简化URL地址,方便记忆
  • 有利于搜索引擎的优化

二、入口文件

前后台分离

  • 在网站public目录下(项目\public)新建admin.php
  • 打开admin.php

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    
    // [ 应用入口文件 ]
    
    // 定义应用目录
    define('APP_PATH', __DIR__ . '/../application/');
    // 加载框架引导文件
    require __DIR__ . '/../thinkphp/start.php';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

绑定模块

  • 实现功能
    index.php 这个入口文件,只能去前台模块
    admin.php这个入口文件,只能去后台模块(建议后台入口文件复杂一些)

  • 如何实现
    在入口文件中

    // 定义前台
    define('BIND_MODULE', 'index'); 
    // 绑定后台
    define('BIND_MODULE', 'admin');
    • 1
    • 2
    • 3
    • 4
  • URL地址发生变化
    入口绑定之前(http://www.tp.com/admin.php/模块/控制器/方法)
    入口绑定之后(http://www.tp.com/admin.php/控制器/方法)

隐藏入口文件

  • 开启apache重写(D:\wamp64\bin\apache\apache2.4.23\conf\httpd.conf)
    把注释开启 LoadModule rewrite_module modules/mod_rewrite.so

  • 设置访问权限(D:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf)

    <VirtualHost *:80>
        ServerName www.tp.com
        DocumentRoot D:/wamp64/www/study/thinkphpstudy/public
        <Directory  "D:/wamp64/www/study/thinkphpstudy/public">
            Options +Indexes +Includes +FollowSymLinks +MultiViews
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 入口文件,在网站public目录下新建.htaccess文件,

    <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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 重启服务

  • url地址变化
    隐藏之前http://www.tp.com/index.php/控制器/方法
    隐藏之后http://www.tp.com/控制器/方法

三、tp5.0路由学习注意

  • 支持三种方式的url解析规则
  • 路由只针对应用,不针对模块,因此路由的设置也是针对应用下的所有模块。
  • 关闭后台模块,在后台入口文件中(admin.php),写在加载框架引导文件之后,否则报错。

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
    // +------
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/351318
推荐阅读
相关标签
  

闽ICP备14008679号