站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
ThinkPHP开发指南-控制器之URL模式
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[ThinkPHP开发指南-控制器|返回上一页]]</span> <div style="clear:both;"></div> 我们在上面的执行过程里面看到的URL是默认情况下,其实[[ThinkPHP]]支持四种[[URL]]模式,可以通过设置URL_MODEL参数来定义,包括'''普通模式'''、'''PATHINFO'''、'''[[REWRITE]]'''和'''兼容模式'''。 *'''普通模式''' :设置URL_MODEL 为0, 采用传统的URL参数模式<nowiki>http://<serverName>/appName/?m=module&a=action&id=1 </nowiki> 普通URL模式和在关闭URL_DISPATCH_ON的情况下面的效果是一样的,只是普通URL模式还具有路由功能。如果你并不需要使用路由功能,而且还在使用普通模式的话,建议直接关闭URL_DISPATCH_ON,效率会更高。 *'''PATHINFO模式''' :设置URL_MODEL 为1 默认情况使用PATHINFO模式,ThinkPHP内置强大的PATHINFO支持,提供灵活和友好URL支持。PATHINFO模式根据不同的设置还包括普通模式和智能模式两种: '''1,'''普通模式 设置URL_PATHINFO_MODEL 参数为1 该模式下面URL参数没有顺序,例如 <pre> http://<serverName>/appName/m/module/a/action/id/1 http://<serverName>/appName/a/action/id/1/m/module </pre> 以上URL等效 '''2,'''智能模式 设置URL_PATHINFO_MODEL 参数为2 (系统默认的模式)自动识别模块和操作,例如: <pre> http://<serverName>/appName/module/action/id/1/ 或者 http://<serverName>/appName/module,action,id,1/ </pre> 在智能模式下面,第一个参数会被解析成模块名称(或者路由名称,下面会有描述),第二个参数会被解析成操作(在第一个参数不是路由名称的前提下),后面的参数是显式传递的,而且必须成对出现,例如:<nowiki> http://<serverName>/appName/module/action/year/2008/month/09/day/21/</nowiki> 其中参数之间的分割符号由URL_PATHINFO_DEPR参数设置,默认为”/”,例如我们设置URL_PATHINFO_DEPR为“-”的话,就可以使用下面的URL访问<nowiki> http://<serverName>/appName/module-action-id-1/ </nowiki> '''注意'''不要使用”:” 和”&”符号进行分割,该符号有特殊用途。略加修改,就可以展示出富有诗意的URl.如果想要简化URL的形式可以通过路由功能(后面会有描述)以及空模块和空操作。 在PATH_INFO模式下面,会把相关参数转换成GET变量,以及并入REQUEST变量,因此不妨碍URL里面的GET和REQUEST变量获取。 *'''REWRITE模式''': 设置URL_MODEL 为2 该URL模式和PATHINFO模式功能一样,除了可以不需要在URL里面写入口文件,和可以定义.htaccess 文件外。在开启了Apache的URL_REWRITE模块后,就可以启用REWRITE模式了,具体参考下面的URL重写部分。 *'''兼容模式''': 设置URL_MODEL 为3 兼容模式是普通模式和PATHINFO模式的结合,并且可以让应用在需要的时候直接切换到PATHINFO模式而不需要更改模板和程序。兼容模式URL可以支持任何的运行环境。 兼容模式的效果是:<nowiki> http://<serverName>/appName/?s=/module/action/id/1/</nowiki> 并且也可以支持参数分割符号的定义,例如在URL_PATHINFO_DEPR为~的情况下,下面的URL有效:<nowiki> http://<serverName>/appName/?s=module~action~id~1</nowiki> 其实是利用了VAR_PATHINFO参数,用普通模式的实现模拟了PATHINFO的模式。但是兼容模式并不需要自己传s变量,而是由系统自动完成URL部分。正是由于这个特性,兼容模式可以和PATHINFO模式之间直接切换,而不需更改模板文件里面的URL地址连接。 某些[[服务器]]环境不能良好的支持PATHINFO,或者需要进行额外的配置才可以支持,如果你确认你的服务器环境不支持PATHINFO,可以选择普通模式或者兼容模式URL运行。 [[category:ThinkPHP]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)