心血来潮想用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移到根目录

如题,移动后,对应的路径,都要跟移动后的路径对应起来(因为原本配置的路径是相对路径,移动后如果不更改就会报错)


已注销
1 声望0 粉丝