ThinkPHP5中路由的设置
路由定义采用 hinkRoute类的rule方法注册,通常是在应用的路由配置文件application/router.php中进行注册,
例如
use thinkRoute; Route::rule("login","admin/login/index");
return[ "__alias__" => [ "login" => "admin/login/index", "home" => "index/index", "info" => "index/index/getInfo" ] ];
关于一些细节上的问题(例如method方式的监听),这里不再赘述。
很多人在设置的时候不成功主要是因为没有理解手册上的这断话:
http://serverName/login;自动转到
http://serverName/admin/login/index
ThinkPHP5.0的路由规则定义是从根目录开始,而不是基于模块名的。
这里的根目录不是指项目的目录。
例如:我将项目(fontend)放到hotdoc目录下,将入口文件放到fontend/public/下,因此,只要访问localhost/fontend/public/就会自动访问该文件夹下的index.php入口文件,之后的访问规则就是:模块/控制器/方法,
因此这里的serverName指的就是locahost/fontend/public/index.php。
然而自己的开发的时候这么长的url还是不利于操作,因此可以注册一个虚拟域名指向该路径。
具体方法如下:
找到apacheconfextrahttpd.conf,在文末加入如下的语句:
NameVirtualHost localhost:80 <VirtualHost localhost:80> ServerName "fontend.com" DocumentRoot "C:/Program Files (x86)/myenv/apache/htdocs/fontend/public/index.php" </VirtualHost>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: ThinkPHP框架入口文件分析
- 下一篇: thinkphp5 去掉url里的index.php