`ThinkPHP5.0`的路由比较灵活,并且不需要强制定义,可以总结归纳为如下三种方式: ### 一、普通模式 关闭路由,完全使用默认的`PATH_INFO`方式URL: ~~~ 'url_route_on' => false, ~~~ 路由关闭后,不会解析任何路由规则,采用默认的`PATH_INFO` 模式访问URL: ~~~ http://serverName/index.php/module/controller/action/param/value/... ~~~ > 但仍然可以通过操作方法的参数绑定、空控制器和空操作等特性实现URL地址的简化。 可以设置`url_param_type`配置参数来改变pathinfo模式下面的参数获取方式,默认是按名称成对解析,支持按照顺序解析变量,只需要更改为: ~~~ // 按照顺序解析变量 'url_param_type' => 1, ~~~ ### 二、混合模式 开启路由,并使用路由定义+默认`PATH_INFO`方式的混合: ~~~ 'url_route_on' => true, 'url_route_must'=> false, ~~~ 该方式下面,只需要对需要定义路由规则的访问地址定义路由规则,其它的仍然按照第一种普通模式的`PATH_INFO`模式访问URL。 ### 三、强制模式 开启路由,并设置必须定义路由才能访问: ~~~ 'url_route_on' => true, 'url_route_must' => true, ~~~ 这种方式下面必须严格给每一个访问地址定义路由规则(包括首页),否则将抛出异常。 首页的路由规则采用`/`定义即可,例如下面把网站首页路由输出`Hello,world!` ~~~ Route::get('/',function(){ return 'Hello,world!'; }); ~~~