ThinkPHP中U方法与url的四种访问模式_PHP教程

php中文网
发布: 2016-07-13 10:34:11
原创
1178人浏览过

    thinkphp中u方法的用处主要是完成对url地址的组装,在模板中使用u方法而不是固定写死url地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。在模板中的调用格式需要采用 {:u('地址', '参数'…)} 的方式,一般的形式里面是控制器中的方法名,例如{:u('loginpage')}。完整格式为:

U('地址','参数','伪静态','是否跳转','显示域名')。U方法的第二个参数支持传入参数,支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,下面几种方式都是等效的:

U('Blog/cate',<span array</span>('cate_id'=>1,'status'=>1<span ))
U(</span>'Blog/cate','cate_id=1&status=1'<span )
U(</span>'Blog/cate?cate_id=1&status=1')
登录后复制

但是不允许使用下面的定义方式来传参数:

U('Blog/cate/cate_id/1/status/1')
登录后复制

根据项目的不同URL设置,同样的U方法调用可以智能地对应产生不同的URL地址效果,可以在配置文件convention.php中看到:

'URL_MODEL'             => 1,       <span //</span><span  URL访问模式,可选参数0、1、2、3,代表以下四种模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE  模式); 3 (兼容模式)  默认为PATHINFO 模式,提供最好的用户体验和SEO支持</span>
登录后复制

1.普通模式:也就是传统的GET传参方式来指定当前访问的模块和操作,例如:(m参数表示模块,a操作表示操作

立即学习PHP免费学习笔记(深入)”;

http:<span //</span><span localhost/app/?m=module&a=action&var=value</span>
登录后复制

2.PATHINFO模式:是系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境。对应上面的URL模式,PATHINFO模式下面的URL访问地址是:

http:<span //</span><span localhost/app/index.php/module/action/var/value</span>
登录后复制

3.REWRITE模式:是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。
如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:

<IfModule mod_rewrite.c><span 
RewriteEngine on
RewriteCond </span>%{REQUEST_FILENAME} !-<span d
RewriteCond </span>%{REQUEST_FILENAME} !-<span f
RewriteRule </span>^(.*)$ index.php/$1 [QSA,PT,<span L]
 </span></IfModule>
登录后复制

接下来,就可以用下面的URL地址访问了:

Hugging Face
Hugging Face

Hugging Face AI开源社区

Hugging Face 135
查看详情 Hugging Face
http:<span //</span><span localhost/app/module/action/var/value/</span>
登录后复制

可以看到index.php被隐藏了

4.兼容模式:是用于不支持PATHINFO的特殊环境,地址为:

http:<span //</span><span localhost/app/?s=/module/action/var/value/</span>
登录后复制

兼容模式配合Web服务器重写规则的定义,可以达到和REWRITE模式一样的URL效果。

 

 

 

 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752224.htmlTechArticleThinkPHP中U方法的用处主要是完成对url地址的组装,在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改...
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号