修改模板文件 (最推荐,最灵活)
这是最常用也是最推荐的方法,因为它不涉及核心文件,升级系统时不会被覆盖。

步骤 1:找到模板文件
DedeCMS 的当前位置是通过一个全局标签 {dede:field name='position'/} 来调用的,这个标签在渲染时会加载一个固定的模板文件。
-
找到这个模板文件,它通常位于:
你的网站目录/templets/default/position.htm -
如果您使用的是非默认模板,请前往您的模板目录下寻找
position.htm文件。
步骤 2:编辑模板文件
使用任意文本编辑器(如 VS Code, Sublime Text, Notepad++ 等)打开 position.htm 文件。

您会看到类似下面的代码:
{dede:field name='position' runphp='yes'}
$a = @me;
$tag_last = trim(strip_tags(@me));
$tag_last = preg_replace('/\s+/', ' ', $tag_last);
$tag_last = preg_replace('/[\s]{2,}/', ' ', $tag_last);
$tag_last = explode('<a', $tag_last);
$tag_last = trim($tag_last[count($tag_last)-1]);
$tag_last = preg_replace('/^([^>]*?)\s*.*$/is', '\\1', $tag_last);
$tag_last = preg_replace('/^[\s]*?(.*)[\s]*?$/is', '\\1', $tag_last);
if($tag_last<> '') @me = '<a href=' . $cfg_basehost . '/><i class='fa fa-home'></i></a> > ' . @me;
else @me = '<a href=' . $cfg_basehost . '/><i class='fa fa-home'></i></a>';
{/dede:field}
关键点分析:
在这段代码中,$cfg_basehost 是一个 DedeCMS 的全局变量,它存储了您在后台设置的“网站首页链接”(系统 > 系统基本参数 > 核心设置 > 网站首页链接)。
步骤 3:修改链接
您有两种主要的修改方式:

方式 A:直接修改硬编码的域名 (最直接)
如果您想让它始终指向一个固定的域名,而不是后台设置的变量,可以直接修改代码中的 $cfg_basehost。
想把首页链接改为 https://www.yourdomain.com,找到类似 @me = '<a href=' . $cfg_basehost . '/>' 的代码行,将其修改为:
{dede:field name='position' runphp='yes'}
$a = @me;
$tag_last = trim(strip_tags(@me));
$tag_last = preg_replace('/\s+/', ' ', $tag_last);
$tag_last = preg_replace('/[\s]{2,}/', ' ', $tag_last);
$tag_last = explode('<a', $tag_last);
$tag_last = trim($tag_last[count($tag_last)-1]);
$tag_last = preg_replace('/^([^>]*?)\s*.*$/is', '\\1', $tag_last);
$tag_last = preg_replace('/^[\s]*?(.*)[\s]*?$/is', '\\1', $tag_last);
if($tag_last<> '') @me = '<a href=https://www.yourdomain.com/><i class='fa fa-home'></i></a> > ' . @me; // 在这里修改
else @me = '<a href=https://www.yourdomain.com/><i class='fa fa-home'></i></a>'; // 在这里修改
{/dede:field}
注意:
- 确保
https://www.yourdomain.com/后面的斜杠 不能少。 - 如果您的网站不需要 HTTPS,请使用
http://。
方式 B:确保后台设置正确 (最规范)
通常情况下,最规范的做法是:
- 进入 DedeCMS 后台。
- 点击 系统 -> 系统基本设置。
- 在 核心设置 中,找到 “网站首页链接” 这一项。
- 将其值修改为您想要的完整域名,
https://www.yourdomain.com。 - 点击“保存”。
position.htm 文件中的 $cfg_basehost 变量就会自动使用这个新值。这种方法是官方推荐的最佳实践。
修改 PHP 核心文件 (不推荐,有风险)
这种方法直接修改 DedeCMS 的程序文件,可以实现效果,但非常不推荐,因为:
- 升级风险:下次升级 DedeCMS 时,这个修改会被覆盖,需要重新修改。
- 维护困难:不熟悉代码的开发者很难定位到这个修改。
如果您仍然坚持要这样做,请按以下步骤操作:
步骤 1:定位文件
当前位置的生成逻辑在 include/helpers/extend.helper.php 文件中。
步骤 2:找到并修改函数
打开 extend.helper.php 文件,找到 GetPositions() 函数,在这个函数里,您会看到类似这样的代码:
function GetPositions($id,$alias=''){
global $cfg_cmspath;
$revalue = '';
// ... (省略中间代码) ...
$indexpage = "<a href='".$cfg_basehost."'>".$indexname."</a>";
// ... (省略中间代码) ...
return $revalue;
}
找到生成首页链接的那一行 $indexpage = "<a href='".$cfg_basehost."'>".$indexname."</a>";,将其修改为:
$indexpage = "<a href='https://www.yourdomain.com/'>".$indexname."</a>";
再次强调: 除非您有特殊原因且明白风险,否则请优先选择 方法一。
总结与建议
| 方法 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
| 修改模板 | 灵活、安全、升级后不丢失 | 需要找到并编辑模板文件 | ⭐⭐⭐⭐⭐ (强烈推荐) |
| 修改核心文件 | 直接修改程序逻辑 | 有升级风险、维护困难 | ⭐ (不推荐) |
给您的最佳实践建议:
- 首选方案:进入 DedeCMS 后台,修改 “系统基本设置” -> “核心设置” -> “网站首页链接”,将其设置为您想要的正确域名,这是最规范、最安全的方法。
- 如果方案一无效:检查您的模板目录下是否有自定义的
position.htm文件,如果有,请按照 方法一 中的方式修改它,确保它使用了正确的$cfg_basehost变量,或者直接硬编码您的域名。 - 尽量避免:直接修改
extend.helper.php这样的核心程序文件。
希望这些详细的步骤能帮助您解决问题!
