在让网站实现全站伪静态时,首先需要确保您的空间或服务器是否支持伪静态(即URL重写)。如果支持,才能进行设置;否则将无法实现。

登录到Dedecms CMS后台,开始伪静态的设置。在“系统”->“核心设置”中,找到“是否使用伪静态”选项并启用。

首页伪静态


首先,删除站点根目录下的index.html文件,并且在后续更新时避免生成HTML文件。

对于栏目和文章,在栏目列表选项中选择使用动态页浏览。同时,在发布文章时也选择仅动态浏览。

打开/include/helpers/channelunit.helper.php文件:


// 动态文章
if($cfg_rewrite == 'Y') {
    return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}

将其替换为:


// 动态文章
if($cfg_rewrite == 'Y') {
    return "/archives/view-".$aid.'-1.html';
}

这样可以将文章页默认链接格式从 /plus/view-1-1.html 更改为 /archives/view-1-1.html。

此外,修改GetTypeUrl()中的代码:


$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

替换为:


$reurl = "/category/list-".$typeid.".html";

这将把频道或列表页的URL更改为 /category/list-1.html 的形式。

列表分页伪静态


打开/include/arc.listview.class.php文件,找到获取动态分页列表GetPageListDM()函数末尾处:


$plist = str_replace('.php?tid=', '-', $plist);

将其替换为:


$plist = str_replace('plus', 'category', $plist);

这会将默认的 plus 替换为 category,从而将列表分页默认链接格式从 /plus/list-1-2-1.html 修改为 /category/list-1-2-1.html。

DEDECMS文章分页伪静态


打开/include/arc.archives.class.php文件,找到获取动态分页列表GetPagebreakDM()函数末尾处:


$PageList = str_replace(".php?aid=", "-", $PageList);

替换为:


$plist = str_replace('plus', 'archives', $plist);

将默认的 plus 替换为 archives。

TAG标签伪静态


打开/include/taglib/tag.lib.php文件,找到lib_tag()函数下的:


$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

替换为:


$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";


搜索伪静态


一种简单的方法是直接将搜索URL中的“search.php?”替换为“search.html?”,至于“?”号之后的参数可以用任意字符匹配。
依次打开include文件夹下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php文件,查找“search.php?”并替换为“search.html?”即可。

通过以上步骤,您可以成功地将Dedecms网站设置为全站伪静态,提升SEO效果和用户体验。