tp5有三大路由模式,普通模式、混合模式和强制模式。
普通模式:只能使用
PATH_INFO
的方式访问,所有路由规则均失效。
混合模式:也是tp5默认的模式,如果为一个地址定义了路由规则,则必须使用该规则访问(
PATH_INFO
方式失效),如果没有定义路由规则,则按照
PATH_INFO
方式访问即可。
比如我们为
http://127.0.0.1/cms/public/index.php/index/index/demo
在Rout.php路由规则文件中定义了路由规则(原文来自tongpankt.com)
think\Route::rule('demo','index/Index/demo');
那么我们就必须使用定义好的路由规则进行访问:
http://127.0.0.1/cms/public/index.php/demo
如果你为一个地址定义好了路由,却不使用定义好的规则访问,就会报错。
也就是说:
http://127.0.0.1/cms/public/index.php/index/index/demo
是错的。(当然上线的时候我们会被public和index.php也给隐藏掉)
强制模式:顾名思义,全站所有地址必须定义路由规则,并且必须使用定义好的路由规则访问,不得使用