PHP项目入口文件为什么放在子目录
来源:互联网 发布:手机root软件 编辑:程序博客网 时间:2024/05/17 06:28
问:
最近看到一些框架php的入口文件都放在了子目录,比如tp5框架入口文件在程序包的public目录中,还有五指cms入口文件也不在程序的根目录中,而是在文件的一个子目录中,这样的话就要吧域名绑定到程序的子目录中,本人奇怪的是为什么要把入口文件放在程序的子目录中呢,这样做有什么好处,而且这好像是一种趋势,求科普!
答:
1.这些框架一般都是单一入口的(index.php),而为了实现单一入口,就需要进行 rewrite 定向,但是这样就遇到一个问题:如何处理静态资源文件(图片,css,js等)。最通用最简单的方法时通过服务器程序在重写前判断访问文件是否存在来实现,这样只需要一两行代码即可解决上述问题。但是这样做之后,如果再把资源文件和代码文件放在同一目录下,那还是会破坏入口的单一性(因为程序文件也被检查到存在,最后直接访问到程序文件了),所有这些框架不约而同的把资源文件和程序文件区分开来,放在了不同的文件夹下。从整体来看,也就是为什么入口会在子目录下了。
2.安全考虑,只暴露对外公开的部分就够了。
3.这样的框架可能还需要配合使用web服务器的rewrite, 把所有请求重定向到框架的router入口,这样最终用户看到的url的path是个有意义的自然语言短语, 而不是?pid=1234&sort=date
0 0
- PHP项目入口文件为什么放在子目录
- 公司大佬问到一个问题 为什么yii tp框架会把index.php文件放到网站的子目录里面 而不是放在根目录
- C#中 dll文件放在子目录中的方法
- php问题一:为什么在入口文件index.php中定义的常量,在concroller中也能使用?
- 为什么js文件放在head里页面布局出不来?
- index.php 入口文件
- php 下载放在服务器里面的pdf文件代码
- PHP单一文件入口框架
- ThinkPHP项目入口文件配置
- php高效遍历目录文件及子目录
- STL之二: 为什么模板函数的声明与实现都放在.h文件中
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 为什么要把中文放在string.xml文件里面呢
- 【浅析】把实现放在头文件中的函数模板,为什么没有发生重定义错误
- Libs文件夹下的Jar文件为什么不会自动放在Android Private Libraries目录下
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 有些JS为什么不可以单独放在一个js文件里面
- 从汇编角度看为什么模板函数声明和定义要放在头文件上
- EM算法MATLAB代码及详细注解
- opencv中的相机标定学习
- hdu 2462 The Luckiest number
- Java IDE 的选择
- beego开发文档
- PHP项目入口文件为什么放在子目录
- 第七届山东省ACM省赛 E The Binding of Isaac
- Java中基于HttpServlet的反射机制(封装从view层页面接收到的数据于实体对象中)
- android listview分页加载的条目点击报错的问题
- CodeBlocks的常用快捷键
- AI基本概念
- 有序链表的合并
- B
- numpy学习笔记-存取文本文件