Linux环境下dedecms5.5实现伪静态的方法,5.3应该也适用。
1.首在在后台开启伪静态.
2.然后栏目和文章设置成动态浏览.
设置方法为:在后台系统设置sql里执行以下语句
将所有文档设置为“仅动态浏览”,update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”,update dede_arctype set isdefault=-1
改成1就是静态。动态转换为静态后需要重新生成HTML。
3. nginx设置重写规则. 内容为:
rewrite "^/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
break;
4.修改/include/channelunit.func.php文件
1)if($isdefault==-1)
{
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}
改为:
if($isdefault==-1)
{
//动态
if($cfg_rewrite == 'Y')
{
$reurl = $GLOBALS['cfg_cmsurl']."/list-{$typeid}.html";
}
else
{
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}
}
2) global $cfg_typedir_df;
改为:
global $cfg_typedir_df,$cfg_rewrite;
3)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";
}
}
else
改为:
if($rank!=0 || $ismake==-1 || $typeid==0 || $money>0)
{
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_cmsurl"]."/view-".$aid.'-1.html';
}
else
{
return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
}
}
else
5.对于图片,在templets/default/article_image.htm和templets/default/article_image_frame.htm修改下边的部分
else
{
if(npage==2) {
if(namehand!='') location.href = namehand+shortname;
//else location.href = "view.php?aid={dede:field name='id'/}";// html静态rewrite注释
else location.href = "view-{dede:field name='id'/}";// html静态rewrite新加
} else if(displaytype=='st' && namehand!='') {
location.href = namehand+"_"+(npage-1)+shortname;
} else {
//location.href = "view.php?aid={dede:field name='id'/}&pageno="+(npage-1);//html静态rewrite注释
location.href = "view-{dede:field name='id'/}-"+(npage-1)+".html";// html静态rewrite新加
}
}
}
//下一张
function dPlayNext()
{
if(npage==totalpage) { alert("没有了哦"); }
else
{
// if(displaytype=='st' && namehand!='') location.href = namehand+"_"+(npage+1)+shortname;// html静态rewrite注释
// else location.href = "view.php?aid={dede:field name='id'/}&pageno="+(npage+1);//html静态rewrite注释
if(displaytype=='st' && namehand!='') location.href = namehand+"_"+(npage+1)+shortname;// html静态rewrite新加
else location.href = "view-{dede:field name='id'/}-"+(npage+1)+".html";// html静态rewrite新加
}
}
有一个问题就是如果你是采集的文章每次导入后需要再次运行 update dede_archives set ismake=-1
行将所有文档设置为“仅动态浏览”。其实运行这个语句用不了几秒钟。