ThinkPHP 路由解析(四种url的意义、区别、以及设置某一种url的真实作用)

原理:

通过url地址get参数找到指定的控制器,并进行对应方法调用请求

http://网址/index.php?m=模块名称&c=控制器&a=方法

ThinkPHP框架url可以有以下四种

1.http://网址/index.php?m=模块名称&c=控制器&a=方法   基本get模式

2.http://网址/index.php/模块/控制器/方法                        路径模式 pathinfo

3.http://网址/模块/控制器/方法                                       rewrite 重写模式

4.http://网址/index.php?s=/模块/控制器/方法                   兼容模式

具体url地址模式设置(配置文件 ThinkPHP/Conf/convertion.php)

URL_MODEL = 0/1/2/3  分别代表四种url地址模式

想修改模式,可以到自己项目目录配置文件修改(shop/Common/Conf/config.php)

<?php
return array(
‘URL_MODEL’ => 0;
);

作用:

我们系统有兼容 4 种url地址模式的使用,虽然设置了一种,但其它三种仍然可以正常访问

设置‘URL_MODEL’ => 0;的真正作用是:系统有时候会自动创建url地址,它会根据当前模式进行url地址创建使用。设置完之后需要清空缓存然后才生效,或者用开发调试模式

U(“模块、控制器、方法”); 根据参数和url模式,创建对应url地址

时间: 2025-01-07 06:40:05

ThinkPHP 路由解析(四种url的意义、区别、以及设置某一种url的真实作用)的相关文章

TtinkPHP学习笔记之路由解析

TP框架URL地址可以有以下几种: http://域名/index.php?m=模块&c=控制器&a=方法         基本get模式 http://域名/index.php/模块/控制器/方法                         路径模式pathinfo http://域名/模块/控制器/方法                                         rewrite重写模式(需要apache开启对.htaccess的支持) http://域名/ind

学习ThinkPHP必须理解的知识(二)——ThinkPHP路由

ThinkPHP支持URL路由功能,要启用路由功能,需要设置ROUTER_ON 参数为true.开启路由功能后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称,就会进行路由解析和重定向.路由功能需要定义路由定义文件,位于项目的配置目录下面,文件名为routes.php,定义格式: PHP代码 Return Array( // 第一种方式 常规路由 'RouteName'=>array('模块名称','操作名称','参数定义','额外参数'), // 第二种方式 泛路由

Thinkphp路由源码分析

摘要:把$_SERVER['PATH_INFO']字符串按照配置的URL_PATHINFO_DEPR进行切分,区分出模块/控制器/方法  在lnmp环境下部署tp项目时,按照网上某资料nginx的配置文件修改了三个参数:PATH_INFO,SCRIPT_NAME,SCRIPT_FILENAME,系统已经可以正常运行.但是为什么不修改request_uri等其他参数呢?是不是这些参数没影响tp的路由策略?(注意:通过rewrite方式访问时,request_uri没有index.php这一部分)

Yii源码阅读笔记 - 路由解析

2014-11-12 三 By youngsterxyf 概述 Yii框架的路由解析功能由核心组件urlManager来完成.路由的形式有两种: get:通过URL中查询字符串(query string)参数r来指定路由,如:r=controllerID/actionID path:直接通过URL来指定,如:/controllerID/actionID 默认使用get路由形式.由于Yii中controller类命名和action方法都是按照规则命名的,而路由也是按照规则来匹配的,所以完全可以不用

Spring 源码解析之ViewResolver源码解析(四)

Spring 源码解析之ViewResolver源码解析(四) 1 ViewResolver类功能解析 1.1 ViewResolver Interface to be implemented by objects that can resolve views by name. View state doesn't change during the running of the application, so implementations are free to cache views. I

Spring Security 解析(四) ——短信登录开发

Spring Security 解析(四) -- 短信登录开发 ??在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security .Spring Security Oauth2 等权限.认证相关的内容.原理及设计学习并整理一遍.本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请告知. 项目环境: JDK1.8 Spring boot 2.x Spring Security 5.x 一.如何在Security的基础上

ASP.NET 路由解析

这段时间在读园子里Artech大神的<ASP.NET MVC5框架揭秘>,慢慢地从底层了解了MVC模式的设计思路.下面是一些阅读的总结. 传统的Web Forms应用,URL指向的是具体的物理文件,而ASP.NET MVC应用一般指向的是某个Controller中的某个Action方法.URL与目标Controller/Action之间的映射关系是通过“路由”来实现的. 路由系统中的几个核心类的描述: RouteBase 一个抽象基类. public abstract class RouteB

Android Bitmap 全面解析(四)图片处理效果对比 ...

对比对象: UIL Volley 官方教程中的方法(此系列教程一里介绍的,ImageLoader的处理方法和官方的差不多) ------------------------------------------------------------------------ 首先单张图片的压缩处理,也是分析重点 专门撸了一个小demo(结尾会放出下载连接)将对应计算方法copy了出来,然后计算了几十组数据,进行了对比 原图宽高都是一个10000以内的随机整数,限定大小是400 200,然后进行压缩处理

JS获取URL中参数值(QueryString)的4种方法

在某书上看到这道题目,查找解题思路后做了部分解析,如有错误请指正 方法一:正则法 代码如下: function getQueryString(name) {    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); //匹配指定name的QueryString    var r = window.location.search.substr(1).match(reg); //window.location.sea