项目分组中的U方法生成URL
在模板中使用 U方法 自动生成 URL 地址的时候,对于生成其他项目分组地址格式如下:
U('分组名-模块/操作?参数')
例如要在后台 Admin 项目生成查看 Blog 具体文章详情的 URL 地址:
<a href="{:U('Blog-Article/read?id=12345')}" target="_blank">点击查看该文详情</a>
生成的地址可能如下(视具体配置不同而不同):
http://www.5idev.com/Blog/Article/read/id/12345.shtml
项目分组URL访问方式
启用了项目分组后,多个分组全都会采用同一个入口文件进行访问的形式。因此除了默认的项目分组外,其余分组的URL访问要在入口位置后加上一个项目组名称。
默认分组URL
假设默认分组名称为 Home ,以 www.5idev.com 域名为例,如下 URL 地址都是等效的:
http://www.5idev.com/ http://www.5idev.com/Index/ http://www.5idev.com/Index/index http://www.5idev.com/index.php/ http://www.5idev.com/index.php/Index/ http://www.5idev.com/index.php/Index/index http://www.5idev.com/index.php/Home/ http://www.5idev.com/Home/
当然一般情况下,为了 URL 简单美观,都是略去 Home 项目组名称的。
在例子里,也假定系统在 PATHINFO 模式下并使用 Apache rewrite 规则隐藏了入口文件 index.php 。
关于使用 Apache rewrite 规则隐藏了入口文件 index.php 具体参见:《ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php》
其他分组URL
以 Admin 项目分组的 User 模块 view 操作为例,如下 URL 地址是等效的:
http://www.5idev.com/Admin/User/view http://www.5idev.com/index.php/Admin/User/view
如果在模板中不使用 U方法 自动生成 URL 地址,那么对应的模板 <a> 标签代码为:
<a href="__APP__/Admin/User/view">Admin分组User模块view操作</a> // 或: <a href="__ROOT__/Admin/User/view">Admin分组User模块view操作</a>
参考阅读
- ThinkPHP 使用 U方法 自动生成URL
- ThinkPHP URL访问模式