折腾了一下ThinkCMF的URL重写,以下是一些整理:
ThinkCMF是基于ThinkPHP的,所以其配置很多与ThinkPHP相似,在TP中有这么几种模式:
第一种:普通模式,在配置文件中URL_MODEL值为0,形如:http://localhost/index.php?g=index&m=index&a=index&id=1
上述链接中,g/m/a分别代表模块名称,控制器名称和方法名称(都可以在config.php中配置),最后id为参数。
第二种:PATHINFO 模式,在配置文件中URL_MODEL值为1,形如:http://localhost/index.php/index/index/index/id/1
默认为PATHINFO 模式,可以提供最好的用户体验和SEO支持。上述链接中,“/”是配置文件中的URL_PATHINFO_DEPR的值,可以自由选配分隔符。
第三种:REWRITE 模式,在配置文件中URL_MODEL值为2,形如:http://localhost/index/index/index/id/1
它是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。
第四种:兼容模式,在配置文件中URL_MODEL值为3,是用于不支持PATHINFO的特殊环境,配合服务器的重写规则,可以达到与第三种模式一样的效果。</