心血来潮想用PHP写个小项目,选用TP5位核心框架,然而访问页面的时候,需要老长一串url
`localhost:8080/public/index.php/{命名空间}/{控制器}/{函数名}
`
老长一大段,而其中的public/index.php
又是固定指定入口文件的,所以考虑是否可以重写url来隐藏这一段。
方法(以本人的Linux上安装的httpd为例)
加载mod_rewrite.so模块
查看自己的Apache是否已经启用了该模块,如果未启用则去掉注释#,配置文件在conf文件夹下的httpd.conf,不过该文件也引用了许多模块配置文件,这些配置文件在conf.modules.d文件夹下,所以需要仔细看看每个文件,否则重复启用可能会导致错误。
为项目目录配置路由重写
Apache的配置文件httpd.conf下有许多DIrectory节点,每个节点内都有一些字段来标记该节点目录的权限(具体每个我也不清楚= =)所以可以选择创建一个新的的Directory节点,该路径指向你项目的路径
<Directory "your project path">
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
这里最重要的是第二句“AllowOverride All”
将public下的.htaccess文件与index.php移到根目录
如题,移动后,对应的路径,都要跟移动后的路径对应起来(因为原本配置的路径是相对路径,移动后如果不更改就会报错)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。