当前位置: 首页 > 后端技术 > PHP

ThinkPHP5URL隐藏了入口文件

时间:2023-03-29 13:47:24 PHP

一时兴起想用PHP写一个小项目,选择了TP5核心框架。但是在访问页面的时候需要一长串的url`localhost:8080/public/index.php/{namespace}/{Controller}/{FunctionName}`又长又长,public/index.phpin里面是一个固定的入口文件,所以要考虑能不能改写url隐藏这一段。方法(以我Linux上安装的httpd为例)加载mod_rewrite.so模块,查看你的Apache是??否启用了该模块,如果没有,去掉注释#,配置文件是conf文件夹下的httpd.conf,但是该文件还引用了很多模块配置文件,都在conf.modules.d文件夹下,所以需要仔细查看每个文件,否则重复启用可能会出错。为项目目录配置路由重写Apache配置文件httpd.conf。DIrectory节点有很多,每个节点都有一些字段来标记节点目录的权限(我一个都不认识==),所以可以选择新建一个Directory节点,path指向的路径你的项目Options+Indexes+FollowSymLinks+ExecCGIAllowOverrideAllOrderallow,denyAllowfromallRequireallgranted这里最重要的是第二句“AllowOverrideAll”移动.htaccesspublic到根目录下的文件和index.php。如题,移动后,对应的路径必须对应移动后的路径(因为原来配置的路径是相对路径,如果移动后不改,会报错)