序言
基础
配置
架构
MVC模式
URL模式
系统流程
ONE-SLOC
注册事件
路由
控制器
模板
调试
安全
工具
部署
URL模式
LMLPHP支持PATH_INFO,参数模式,普通模式三种URL模式,优先级从前到后。三种方式都分别拥有各自的rewrite模式。下面对这三种方式逐一进行分解:

PATH_INFO模式 (LMLPHP在PATH_INFO不存在时,通过SCRIPT_URI获取PATH_INFO,因此在服务器不提供PATH_INFO时也可使用)
URLModuleAction
http://www.domain.com/index.php/ModuleIndexindex
http://www.domain.com/index.php/ArticleModuleArticleindex
http://www.domain.com/index.php/Article/newestModuleArticlenewest
对应rewrite模式如下:
http://www.domain.com/ModuleIndexindex
http://www.domain.com/ArticleModuleArticleindex
http://www.domain.com/Article/newestModuleArticlenewest

参数模式 (LMLPHP默认的rewrite规则只去除入口文件,如果更改rewrite规则可以达到和PATH_INFO一样的效果)
URLModuleAction
http://www.domain.com/index.php?path=/ModuleIndexindex
http://www.domain.com/index.php?path=/ArticleModuleArticleindex
http://www.domain.com/index.php?path=/Article/newestModuleArticlenewest
对应rewrite模式如下:
http://www.domain.com/?path=/ModuleIndexindex
http://www.domain.com/?path=/ArticleModuleArticleindex
http://www.domain.com/?path=/Article/newestModuleArticlenewest

普通模式
URLModuleAction
http://www.domain.com/index.phpModuleIndexindex
http://www.domain.com/index.php?m=ArticleModuleArticleindex
http://www.domain.com/index.php?m=Article&a=newestModuleArticlenewest
对应rewrite模式如下:
http://www.domain.com/ModuleIndexindex
http://www.domain.com/?m=ArticleModuleArticleindex
http://www.domain.com/?m=Article&a=newestModuleArticlenewest

关于URL模式
LMLPHP在URL模式上将最美丽的PATH_INFO模式的优先级设置为最高。为了让URL更加精美,系统对PATH_INFO的级别只处理到二级,并没有对后面的部分按照参数名,参数值的方式解析到$_GET中。作者认为PATH_INFO的美在于它以"/"分割,不需要参数名,如果后面的部分被参数名占据,URL显得臃肿。因此,在使用PATH_INFO模式的URL时,可以使用路由机制或者在到达控制器后再通过分析REQUEST_URI的方式达到最精简的URL效果。

CLI运行时URL模式
LMLPHP完美支持CLI模式运行,URL解析模式与CGI方式运行完全相同,需要注意的是CLI模式下是按照第一个参数名作为REQUEST_URI解析的。如下示例:
$php index.php /user/info
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.001858(s)
2024-04-16 17:42:47 1713260567