实现dedecms全站动态浏览 并实现伪静态

时间:2022-02-09 16:35:45

dedecms默认是生成静态文件,如何实现织梦(PC端)全站动态浏览呢?

织梦全站动态浏览方法

1. 修改首页为动态浏览

后台-生成-更新首页-勾选“仅动态浏览”

2. 修改栏目页为动态浏览

①添加或编辑栏目时勾选“使用动态页”

②如果有已添加但未设置动态浏览的栏目,可以直接执行下面SQL修改:

update dede_arctype set isdefault=-1

③以后添加栏目时默认动态浏览:

\dede\templets\catalog_add.htm

<td>
<input type='radio' name='isdefault' value='1' class='np' checked="checked" />
链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />
链接到列表第一页
<input type='radio' name='isdefault' value='-1' class='np' />
使用动态页
</td>

改为

<td>
<input type='radio' name='isdefault' value='1' class='np' />
链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />
链接到列表第一页
<input type='radio' name='isdefault' value='-1' class='np' checked="checked" />
使用动态页
</td>

3. 修改文章页动态浏览

①添加或编辑文章时勾选“使用动态页”

②如果有已添加但未设置动态浏览的文章,可以直接执行下面SQL修改:

update dede_archives set ismake=-1

③以后添加文章时默认动态浏览:

\dede\templets\article_add.htm

<td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />
生成HTML
<input type="radio" name="ishtml" class="np" value="0"/>
仅动态浏览 </td>

改成

<td width="379"><input name="ishtml" type="radio" class="np" value="1" />
生成HTML
<input type="radio" name="ishtml" class="np" value="0" checked="1"/>
仅动态浏览 </td>

4 添加文章后操作按钮中的“查看文章”链接及前台相关调用链接修改

\include\helpers\channelunit.helper.php

①. 修改文章页链接

if($rank!=0 || $ismake==-1 || $typeid==0 || $money>0)
{
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}
else
{
return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
}
}

改为

if($rank!=0 || $ismake==-1 || $typeid==0 || $money>0)
{
//伪静态
if($cfg_rewrite == 'Y')
{
return "/article-".$aid.'.html';
}
else
{
return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
}
}

②. 修改栏目页链接

if($isdefault==-1)
{
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}

改为

if($isdefault==-1)
{
//伪静态
if($cfg_rewrite == 'Y')
{
$reurl = "/list-".$typeid."/";
}
else
{
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}
}

5. 去除分页链接中的总页数参数,以缩短链接

\main\include\arc.listview.class.php

①. 去除动态链接中总页数参数

$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";

改为

$geturl = "tid=".$this->TypeID."&";

②.注释掉已经不需要的总页数替换代码

$plist = str_replace('&TotalResult=', '-', $plist);

6. 伪静态规则

修改网站根目录下.htaccess文件,没有的话新建一个,写入伪静态规则

RewriteEngine On

#列表页伪静态规则
RewriteRule ^list-([-]+)/$ /plus/list.php?tid=$RewriteRule ^list-([0-9]+)-([0-9]+)/$ /plus/list.php?tid=$1&PageNo=$2 #文章页伪静态规则
RewriteRule ^article-([-]+).html$ /plus/view.php?aid=$
RewriteRule ^article-([-]+)-([-]+).html$ /plus/view.php?aid=$&pageno=$