进入后台→系统→SQL命令行工具→运行SQL命令行: 单行命令执行查询命令:
  • 将所有文档设置为“仅动态”:update dede_archives set ismake=-1
  • 将所有文档设置为“仅静态”:update dede_archives set ismake=1
  • 将所有栏目设置为“使用动态页”: update dede_arctype set isdefault=-1
  • 将所有栏目设置为“使用静态页”: update dede_arctype set isdefault=1
update dede_archives set ismake=-1
update dede_arctype set isdefault=-1
DedeCms V5.3、DedeCms V5.5、DedeCms V5.6版本,
打开/include/channelunit.func.php进行修改 DedeCms
V5.7版本,打开/include/helpers/channelunit.helper.php进行修改

修改文章伪静态

//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}
方法一修改为(写死目录)
//动态文章
if($cfg_rewrite == 'Y')
{
return "/cms/view-".$aid.'-1.html';
}
方法二修改为(目录层级文件名写死)
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS['cfg_typedir'].$aid.'.html';
}

说明

/cms/:是根目录下的第一个层级。例如:http://www.duyl.cn/cms/

view-:表示链接的样式,没有什么实质上的意义。

$aid:这个表示的是文章的唯一ID号。

-1.html:这个表示的是所有文章都以-1.html结尾,当然你可以将“-1”删掉,将“view-”删掉,这样文章的链接则是以id.html结尾。

例如:

未删掉前:http://www.duyl.cn/cms/view-31-1.html

已删掉后:http://www.duyl.cn/cms/31.html

栏目页(频道页)URL重写

//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为:
//动态
$reurl = "/cms/list-".$typeid.".html";
或者修改为
//动态
$reurl = "$typedir"."/list-".$typeid.".html";

栏目页(列表翻页)

打开/include/arc.listview.class.php文件

查找:

$plist = str_replace('.php?tid=', '-', $plist);
替换为:
$plist = str_replace('list.php?tid=', 'list-', $plist);

注意!

“'list-”的样式可以随意变,如果不修改,默认也是这个样式,所以可以不用修改。

但是织梦伪静态后的翻页链接有个极大的问题,那就是链接多了一个id号

例如:www.cdseoyh.cn/cms/list-10-12-2.html

这里多了的id号是12,这个12是当前栏目下的文档数量,所以是个变量,那么也就意味着一旦新增文档,翻页的链接就会不断变化。

于是小编就在arc.listview.class.php文件中找解决办法,功夫不负有心人,足足试了两个小时,终于搞定了

查找:
$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
替换成:
$geturl = "tid=".$this->TypeID."&TotalResult=".$this->Total."&";
然后查找:
$plist = str_replace('&TotalResult=', '-', $plist);
替换成:
$plist = str_replace('&TotalResult=', '', $plist);

栏目页分页修复

打开文件/include/arc.listview.class.php
大概1212行找到(去电if条件)
 //if($cfg_rewrite == 'Y')
 //{
  $plist = str_replace('.php?tid=', '-', $plist);
  $plist = str_replace('&TotalResult=', '-', $plist);
  $plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
 // }
大概1140行找到
 $geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
 $purl .= '?'.$geturl;
 //添加以下代码
 $geturlpc = $GLOBALS['cfg_phpurl']."/list.php?tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
 $purlpc .= $geturlpc;  

查找《$purl》替换成《$purlpc》

添加服务器URL配置参数

.htaccess文件URL配置参数如下:
RewriteEngine On
RewriteRule ^cms/list-([0-9]+).html$ /plus/list.php?tid=$1
RewriteRule ^cms/view-([0-9]+)-1.html$ /plus/view.php?arcID=$1

自用参考

RewriteEngine On
RewriteRule ^html/([0-9]+).html$ /plus/list.php?tid=$1
RewriteRule ^([0-9]+).html$ /plus/view.php?arcID=$1
RewriteRule ^html/([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&PageNo=$2

web.config文件URL配置参数如下:
<configuration>
<system.webServer>
<rewrite>
<rules>
<!–文章–>
<rule name="arc-cms">
<match url="^cms/view-([0-9]+).html$" />
<action type="Rewrite" url="/plus/view.php?arcID={R:1}" />
</rule>
<!–列表–>
<rule name="list-cms">
<match url="^cms/list-([0-9]+).html$" />
<action type="Rewrite" url="plus/list.php?tid={R:1}"/>
</rule>
<!–列表翻页–>
<rule name="list-cms-2">
<match url="^cms/list-([0-9]+)-([0-9]+).html$"/>
<action type="Rewrite" url="plus/list.php?tid={R:1}&amp;PageNo={R:2}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

注意要点

①参数用“()” 括起来 ,使用 {R:1}来获得参数

②多个参数中间用 & 分割

③name切记不能写一样

以上是小冬亲自测试过了的,两种类型的文件都测试过,且有效,能用。

如果你配置规则确定没问题,但是访问列表或者文章时,还是出错或者是访问到了首页,那么就是根目录的配置文件有问题,有可能是你某些地方操作不当,最好喊主机服务商给你看看,然后你看看人家修改的地方,你自己自然就明白了,我就是这么学出来的。当然小编也找了大量参考资料,对比得出的这样的经验,很实用。

注:以上只是列表页和内容详情页的URL参数修改和参数配置,还不包括列表页翻页伪静态,内容页翻页伪静态,tag链接伪静态、搜索页伪静态。如果要实现这几个伪静态,请继续看下面教程,也就是比葫芦画瓢,希望大家头脑灵活处理

参考文章:
织梦全站伪静态设置方法和教程,伪静态链接个性化处理方法
文章地址:https://www.cdseoyh.cn/cms/31.htm
文章镜像:https://www.duyl.cn/usr/uploads/2022/05/4243537430.png
织梦DeDeCms手机站伪静态列表分页错误解决办法
文章地址:https://jingyan.baidu.com/article/0964eca25f18638285f5361b.html
文章镜像:https://www.duyl.cn/usr/uploads/2022/05/3639784876.png
伪静态文件参考:伪静态文件参考.zip
Last modification:May 11, 2022
如果觉得我的文章对你有用,请随意赞赏