thinkphp 模块部署
3.2对模块的访问是自动判断的,所以通常情况下无需配置模块列表即可访问,在部署模块的时候,默认情况下都是基于类似于子目录的URL方式来访问模块的,例如:
http://serverName/Home/New/index //访问Home模块
http://serverName/Admin/Config/index //访问Admin模块
http://serverName/User/Member/index //访问User模块
允许模块列表
如果直接访问:http://serverName/New/index
会报错,不过通过下面的设置可以把Home模块的访问URL地址简化:
// 允许访问的模块列表
'MODULE_ALLOW_LIST' => array('Home','Admin','User');
'DEFAULT_MODULE' => 'Home', // 默认模块
这个时候再次访问 http://serverName/New/index
就不会报错了,并且实际访问的就是Home模块。默认情况下,MODULE_ALLOW_LIST
为空,表示允许任何模块的访问,不过最终是否允许访问还受 MODULE_DENY_LIST
参数的影响。
域名绑定的模块不受
MODULE_ALLOW_LIST
的影响
禁止模块访问
如果你的应用有很多的模块,你只是想禁止访问个别模块的话,可以配置禁止访问的模块列表(用于被其他模块调用或者不开放访问),默认配置中是禁止访问Common模块和Runtime模块(Runtime目录是默认的运行时目录),我们可以增加其他的禁止访问模块列表:
// 设置禁止访问的模块列表
'MODULE_DENY_LIST' => array('Common','Runtime','User'),
这个时候,我们再访问 http://serverName/User/Member/index
的话,就会报错。
域名绑定的模块同样不受
MODULE_DENY_LIST
影响
模块映射
如果不希望用户直接访问某个模块,可以设置模块映射(对后台的保护会比较实用)。
'URL_MODULE_MAP' => array('test'=>'admin'),
注意:设置了模块映射后,原来的Admin模块将不能访问,只能访问test模块。
我们访问 http://serverName/Admin
将会报模块不存在的错误,而 http://serverName/test
则可以正常访问Admin模块。
如果你同时还设置了MODULE_ALLOW_LIST
参数的话,必须将允许模块列表中的原来的模块改成映射后的模块名,例如:
'MODULE_ALLOW_LIST' => array('Home','Test','User'),
'DEFAULT_MODULE' => 'Home',
'URL_MODULE_MAP' => array('test'=>'admin'),
模块映射的模块必须使用小写定义
原文地址:https://www.cnblogs.com/furuihua/p/11849761.html
- 为自定义配置的编辑提供”智能感知”的支持
- 在ASP.NET Core应用中如何设置和获取与执行环境相关的信息?
- 在ASP.NET MVC中如何应用多个相同类型的ValidationAttribute?
- [ASP.NET MVC]如何定制Numeric属性/字段验证消息
- 为.NET Core项目定义Item Template
- 晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
- 一个关于反序列化的小问题
- 两个简单的扩展方法:TrimPrefix和TrimSuffix
- 谈谈Nullable<T>的类型转换问题
- ASP.NET MVC是如何运行的(3): Controller的激活
- ASP.NET MVC是如何运行的[2]: URL路由
- 一个简单的小程序演示Unity的三种依赖注入方式
- 在Entity Framework中使用存储过程(三):逻辑删除的实现与自增长列值返回
- 在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Java常用设计模式--三种工厂模式之抽象工厂模式(Abstract Factory Pattern)
- Mongodb只读副本集如何切换到读写模式
- Java常用设计模式--策略模式(Strategy Pattern)
- Mongodb只读副本集如何切换到读写模式(下)
- 手把手带你搭建redis集群
- Jvm常量池、运行时常量池、字符串常量池理解
- 【Docker】命令使用大全
- Apache如何设置Enable Keep-Alive
- 【Docker】项目实战,部署自己的APP
- 用云开发快速构建最美AI毕业照小程序
- 13-2 vi-启动和退出
- Java中四种引用类型:强引用,软引用,弱引用,虚引用
- docker-compose搭建redis集群之哨兵模式
- docker-compose搭建redis集群之主从复制
- c/c++补完计划(七): 哨兵节点