ThinkPHP中U方法与url的四种访问模式
程序员文章站
2022-06-02 16:44:21
...
ThinkPHP中U方法的用处主要是完成对url地址的组装,在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式,一般的形式里面是控制器中的方法名,例如{:U('loginPage')}。完整格式为:
U('地址','参数','伪静态','是否跳转','显示域名')。U方法的第二个参数支持传入参数,支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,下面几种方式都是等效的:
U('Blog/cate',('cate_id'=>1,'status'=>1'Blog/cate','cate_id=1&status=1''Blog/cate?cate_id=1&status=1')
但是不允许使用下面的定义方式来传参数:
U('Blog/cate/cate_id/1/status/1')
根据项目的不同URL设置,同样的U方法调用可以智能地对应产生不同的URL地址效果,可以在配置文件convention.php中看到:
'URL_MODEL' => 1,
1.普通模式:也就是传统的GET传参方式来指定当前访问的模块和操作,例如:(m参数表示模块,a操作表示操作)
http:
2.PATHINFO模式:是系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境。对应上面的URL模式,PATHINFO模式下面的URL访问地址是:
http:
3.REWRITE模式:是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。
如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:
%{REQUEST_FILENAME} !-%{REQUEST_FILENAME} !-^(.*)$ index.php/$1 [QSA,PT,
接下来,就可以用下面的URL地址访问了:
http:
可以看到index.php被隐藏了
4.兼容模式:是用于不支持PATHINFO的特殊环境,地址为:
http:
兼容模式配合Web服务器重写规则的定义,可以达到和REWRITE模式一样的URL效果。
推荐阅读
-
thinkphp中U方法按路由规则生成url的方法
-
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
-
ThinkPHP中URL路径访问与模块控制器之间的关系
-
ThinkPHP中U方法与url的四种访问模式
-
ThinkPHP中U方法与url的四种访问模式
-
ThinkPHP中U方法与url的四种访问模式_PHP教程
-
ThinkPHP中URL路径访问与模块控制器之间的关系,thinkphpurl
-
ThinkPHP中URL路径访问与模块控制器之间的关系_php实例
-
ThinkPHP中URL路径访问与模块控制器之间的关系_PHP
-
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结_PHP