什么是动态链接?
在织梦CMS中,链接分为两种:

- 静态链接:以
.html结尾的链接,这种链接实际上是服务器通过伪静态技术(如mod_rewrite)将一个动态请求伪装成了静态页面,利于SEO。 - 动态链接:以
.php并且包含问号 和参数的链接,plus/list.php?tid=1。
当您选择“使用动态页”时,织梦会直接生成这种真实的动态链接。
如何设置栏目使用动态链接?
这个设置是在后台的“核心频道模型”中全局配置的,影响所有新建或修改的栏目。
操作步骤:
-
登录织梦DedeCMS后台。
(图片来源网络,侵删) -
在左侧菜单栏中,找到并点击 【系统】 -> 【核心频道模型】 -> 频道设置】。
-
在打开的页面中,找到 “列表选项” 或 “文章列表选项” 这一部分。
-
您会看到一个名为 “列表命名规则” 的下拉菜单或单选框组。
- 选择动态链接:请选择
list.php?tid=[ID]或类似的、明确包含 和tid参数的选项。 - 选择静态链接:如果您想使用伪静态,可以选择类似
{typedir}/list_{page}.html的规则。
- 选择动态链接:请选择
-
点击页面底部的 【确定】 按钮保存设置。
重要提示:
- 这个设置只对新添加或修改后保存的栏目生效,对于已经存在的、之前设置为静态链接的栏目,您需要手动进入每个栏目进行修改并保存,才能使其应用新的链接规则。
如何获取栏目的动态链接地址?
在模板文件(通常是 .htm 文件)中,织梦提供了一系列内置的标签来获取栏目的各种链接地址。
获取当前栏目的动态链接
如果您想在当前栏目的模板文件(如 标签代码: 代码解析: 如果您想在首页或其他模板中调用一个指定栏目(比如ID为5的栏目)的链接,可以使用 标签代码: 代码解析: 如果您想获取所有顶级栏目的动态链接,可以省略 在文章详情页模板(如 标签代码: 代码解析: 希望这份详细的指南能帮助您完全理解并掌握织梦CMS的栏目动态链接设置!list_article.htm)中获取本栏目的链接,最常用的是 {dede:field name='phpurl'/}
<a href="{dede:field name='phpurl'/}/list.php?tid={dede:field name='id'/}">查看本栏目全部文章</a>
{dede:field name='phpurl'/}:这个标签会获取到您在后台“系统基本参数”中设置的“站点根目录”,通常是 或 /dedecms/,它能确保链接地址的绝对正确性。list.php:这是织梦默认的文章列表页动态脚本。tid={dede:field name='id'/}:{dede:field name='id'/} 获取当前栏目的ID号。tid 是栏目ID的参数名,组合起来就是 tid=1, tid=2 等。获取任意指定栏目的动态链接
{dede:channel}
{dede:channel typeid='5'}
<a href="[field:phpurl/]/list.php?tid=[field:id/]">[field:typename/]</a>
{/dede:channel}
{dede:channel typeid='5'}:typeid='5' 指定了要获取的栏目ID。[field:phpurl/]:在 {dede:channel} 标签内,使用 [field:phpurl/] 来获取栏目的PHP路径。[field:id/]:获取该栏目的ID。[field:typename/]:获取该栏目的名称。typeid 属性:{dede:channel type='top'}
<a href="[field:phpurl/]/list.php?tid=[field:id/]">[field:typename/]</a>
{/dede:channel}
页获取所属栏目的动态链接
article_article.htm)中,您可以通过 {dede:field name='typeid'} 获取文章所属的栏目ID,然后手动拼接链接。
<a href="{dede:global name='cfg_phpurl'/}/list.php?tid={dede:field name='typeid'/}">返回所属栏目</a>
{dede:global name='cfg_phpurl'/}:这是一个全局变量,等同于 {dede:field name='phpurl'/},获取站点根目录。{dede:field name='typeid'/}:获取当前文章所属栏目的ID。
动态链接的优缺点及注意事项
优点:
list.php?tid=1&PageNo=2。.htaccess 或 web.config),对新手友好。缺点:
.html 后缀的静态/伪静态链接在权重和美观度上通常被认为更优。注意事项:
&PageNo=2 这样的参数传递的,第二页的链接可能是 plus/list.php?tid=1&PageNo=2,织梦的分页标签会自动处理这个。plus/list.php?tid=1 这样的请求重写为 category/1/ 或 list-1.html 的形式,这需要服务器支持并配置相应的规则。
需求场景
推荐使用的标签/代码
说明
后台设置
系统 -> 核心频道模型 -> 内容频道设置 -> 列表命名规则
选择
list.php?tid=[ID]
当前栏目链接
{dede:field name='phpurl'/}/list.php?tid={dede:field name='id'/}在列表页模板中使用
指定栏目链接
{dede:channel typeid='5'}[field:phpurl/]/list.php?tid=[field:id/]{/dede:channel}在任意模板中调用指定栏目
文章页返回栏目
{dede:global name='cfg_phpurl'/}/list.php?tid={dede:field name='typeid'/}在文章详情页模板中使用
