1. 使用 dr_url 函数(推荐)
APP_DIR:当前模块目录(如 news、product 等)。
- $url = dr_url(APP_DIR.'/show', ['id' => $id, 'catid' => $catid]);
id:文章ID。
catid:栏目ID。
2. 使用 dr_show_url 函数(自动适配伪静态/动态)
如果你想生成前台访问地址(带伪静态规则),可以用:
$module:模块目录名(如 'news')。
- $url = dr_show_url($module, $id, $catid);
$id:文章ID。
$catid:栏目ID。
3. 直接拼接(不推荐)
如果你了解你的URL规则,也可以直接拼接:
但这样不适配伪静态和多站点,不推荐。
- $url = SITE_URL.'index.php?c=show&id='.$id.'&catid='.$catid;
4. 在模板中
模板里通常直接用:
5. 参考官方文档
- <a href="{dr_show_url($mod, $t.id, $t.catid)}">查看</a>
dr_url函数说明
- dr_url :生成后台和前台的URL地址
- dr_member_url:生成用户中心前台的URL地址
- 参数一:URI地址段(APP目录/控制器文件/方法函数)
- 参数二:其他数组参数
- 例如:dr_url("news/home/index")
- 前端调用表示 index.php?s=news&c=home&m=index
- 后端调用表示 admin*.php?s=news&c=home&m=index
- 例如:dr_member_url("news/home/index")
- 前端调用表示 index.php?s=member&app=news&c=home&m=index
- 后端调用使用 dr_url函数
- 带参数的写法:dr_url("news/home/index", ["p1" => 1, 'p2' => 2])
- 前端调用表示 index.php?s=news&c=home&m=index&p1=1&p2=2
- 后端调用表示 admin*.php?s=news&c=home&m=index&p1=1&p2=2


















文章点评