织梦dedecms的伪静态,织梦设置伪静态

分类:建站教程 Dedecms教程 时间:2025-10-23 09:04 浏览:0 评论:0
0

当前目录列表:

  • 1、DedeCMS 首页和栏目如何伪静态
  • 2、WordPress伪静态与dz、DedeCMS伪静态的问题。
  • 3、DedeCMS5.7伪静态怎么设置
  • 4、如何实现织梦DedeCMS的tag标签静态化
  • 5、DedeCMS全站伪静态怎么设置
  • DedeCMS 首页和栏目如何伪静态

    DedeCMS本来是静态的。

    你不想用静态吗?

    直接写伪静态则到 .htaccess 文件

    dedecms的伪静态,织梦设置伪静态

    WordPress伪静态与dz、DedeCMS伪静态的问题。

    DZ WP 为什么放在DEDE目录下?你分别为DZ,WP建一个站,放在不同目录下不就行了吗?

    DedeCMS5.7伪静态怎么设置

    #首页伪静态规则,如果不使用动态首页,请勿必删除这一行,否则打开首页会出现死循环

    RewriteRule ^,.*/index.html $1/index.php [I]

    #列表页伪静态规则

    RewriteRule ^,.*/category/list-,[0-9]+.html $1/plus/list.php?tid=$2 [I]

    RewriteRule ^,.*/category/list-,[0-9]+-,[0-9]+-,[0-9]+.html $1/plus/list.php?tid=$2amp;TotalResult=$3amp;PageNo=$4 [I]

    #文章页伪静态规则

    RewriteRule ^,.*/archives/view-,[0-9]+-,[0-9]+.html $1/plus/view.php?arcID=$2amp;pageno=$3 [I]

    #搜索伪静态规则

    RewriteRule ^,.*/search.html,?:(?.*)* $1/search.php?$2 [I]

    #TAG标签伪静态规则

    RewriteRule ^,.*/tags.html $1/tags.php [I]

    RewriteRule ^,.*/tags/,.*,?:(?.*)* $1/tags.php?/$2 [I]

    RewriteRule ^,.*/tags/,.*/,?:(?.*)* $1/tags.php?/$2/ [I]

    RewriteRule ^,.*/tags/,.*/,[0-9],?:(?.*)* $1/tags.php?/$2/$3 [I]

    RewriteRule ^,.*/tags/,.*/,[0-9]/,?:(?.*)* $1/tags.php?/$2/$3/ [I]

    如何实现织梦DedeCMS的tag标签静态化

    用DedeCMS 系统做网站的朋友特别多,DedeCMS功能强大,除了安全是一个问题外,tags标签静态化问题困扰很多朋友,湖哥为了解决一个网站的tags标签静态化问题找了很多文章,也试了很多次,终于在今天解决了这个问题:

    1.DedeCMS版本 5.7 sp1 GBK

    2.服务器:windows 2008 iis7

    话不多说,开始!

    目标:我们要使原来tags.php?/3qshop/ 变动为/tags/3qshop.html 并且为伪静态,为什么要为伪静态?因为我们的关键词,tags太多,比真正静态节省空间。

    那么我们要做如下工作,记得一步一步来哦!

    第1步:

    首先找到/include/taglib/tag.lib.php中,在87行找到

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

    将其修改为:

    $row['link'] = $cfg_cmsurl."/tags/".urlencode,$row['keyword'].".html";

    第2步:

    修改分页代码部分

    修改include/arc.taglist.class.php,找到分页函数,将其更换为:

    注意:从429行 ----541行 用以下内容替换!

    ,提示:网上有文章中讲的以下代码中的"pageinfo"是错误的,应该为\"pageinfo\",不然会有错误提示哦!已经代码测试OK!

    /** * 获取动态的分页列表

    *

    * @access public

    * @param int $list_len 列表宽度

    * @param string $listitem 列表样式

    * @return string

    */

    function GetPageListDM,$list_len,$listitem="info,index,end,pre,next,pageno"

    {

    $prepage="";

    $nextpage="";

    $prepagenum = $this-PageNo - 1;

    $nextpagenum = $this-PageNo + 1;

    if,$list_len == "" || preg_match("/[^0-9]/", $list_len)

    {

    $list_len = 3;

    }

    $totalpage = $this-TotalPage;

    if,$totalpage = 1 $this-TotalResult 0

    {

    return "span class=\"pageinfo\"共1页/".$this-TotalResult."条/span";

    }

    if,$this-TotalResult == 0

    {

    return "span class=\"pageinfo\"共0页/".$this-TotalResult."条/span";

    }

    $maininfo = "span class=\"pageinfo\"共{$totalpage}页/".$this-TotalResult."条/spanrn";

    $purl = $this-GetCurUrl,;

    $basename = basename,$purl;

    $tmpname = explode,'.', $basename;

    $purl = str_replace,$basename, '', $purl.urlencode,$this-Tag;

    //var_dump,$purl;exit;

    //$purl .= "?/".urlencode,$this-Tag;

    //获得上一页和下一页的链接

    if,$this-PageNo != 1

    {

    $prepage.="lia href='".$purl."-$prepagenum'.html上一页/a/lirn";

    $indexpage="lia href='".$purl."-1.html'首页/a/lirn";

    }

    else

    {

    $indexpage="lia首页/a/lirn";

    }

    if,$this-PageNo!=$totalpage $totalpage1

    {

    $nextpage.="lia href='".$purl."-$nextpagenum.html'下一页/a/lirn";

    $endpage="lia href='".$purl."-$totalpage.html'末页/a/lirn";

    }

    else

    {

    $endpage="lia末页/a/lirn";

    }

    //获得数字链接

    $listdd="";

    $total_list = $list_len * 2 + 1;

    if,$this-PageNo = $total_list

    {

    $j = $this-PageNo - $list_len;

    $total_list = $this-PageNo + $list_len;

    if,$total_list $totalpage

    {

    $total_list = $totalpage;

    }

    }

    else

    {

    $j=1;

    if,$total_list $totalpage

    {

    $total_list = $totalpage;

    }

    }

    for,$j; $j=$total_list; $j++

    {

    if,$j == $this-PageNo

    {

    $listdd.= "li class=\"thisclass\"a$j/a/lirn";

    }

    else

    {

    $listdd.="lia href='".$purl."-$j.html'".$j."/a/lirn";

    }

    }

    $plist = '';

    if,preg_match('/info/i', $listitem)

    {

    $plist .= $maininfo.' ';

    }

    if,preg_match('/index/i', $listitem)

    {

    $plist .= $indexpage.' ';

    }

    if,preg_match('/pre/i', $listitem)

    {

    $plist .= $prepage.' ';

    }

    if,preg_match('/pageno/i', $listitem)

    {

    $plist .= $listdd.' ';

    }

    if,preg_match('/next/i', $listitem)

    {

    $plist .= $nextpage.' ';

    }

    if,preg_match('/end/i', $listitem)

    {

    $plist .= $endpage.' ';

    }

    return $plist;

    }

    第3步:

    设置伪静态规则:

    ?xml version="1.0" encoding="UTF-8"?

    configuration

    system.webServer

    rewrite

    rules

    rule name="weather1" stopProcessing="true"

    match url="tags/,[^-]+.html$" ignoreCase="true" /

    conditions logicalGrouping="MatchAll"

    add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /

    add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /

    /conditions

    action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" /

    /rule

    rule name="weather2" stopProcessing="true"

    match url="tags/,[^-]+-,[0-9]+.html$" ignoreCase="true" /

    conditions logicalGrouping="MatchAll"

    add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /

    add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /

    /conditions

    action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" /

    /rule

    /rules

    /rewrite

    /system.webServer

    /configuration

    把以上内容保存为:web.config 放到网站根目录!

    第4步:

    生成文章,浏览!大功告成?错,有可能你会出现以下错误!

    系统无此标签,可能已经移除!

    你还可以尝试通过搜索程序去搜索这个关键字:前往搜索

    如果你的浏览器没反应,请点击这里...

    解决办法如下:

    在网站根目录下找到tags.php 此文件,将以下代码替换掉:

    $tag = trim,$_SERVER['QUERY_STRING'];

    换成

    $tag = strtolower,trim($_SERVER['QUERY_STRING']);

    出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.php中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了

    方法:

    1.把以下代码加入到根目录下tags.php中的18行下面,也就是if,isset($tags[2]) $PageNo = intval,$tags[2];下面哦:

    function is_utf8,$tag

    {

    if ,preg_match("/^([".chr(228."-".chr,233."]{1}[".chr,128."-".chr,191."]{1}[".chr,128."-".chr,191."]{1}){1}/",$tag) == true || preg_match,"/([".chr(228."-".chr,233."]{1}[".chr,128."-".chr,191."]{1}[".chr,128."-".chr,191."]{1}){1}$/",$tag) == true || preg_match,"/([".chr(228."-".chr,233."]{1}[".chr,128."-".chr,191."]{1}[".chr,128."-".chr,191."]{1}){2,}/",$tag) == true)

    {

    return true;

    }

    else

    {

    return false;

    }

    }

    2.在第25行上面加入以下语句,也就是在$tag = FilterSearch,urldecode($tag);上面加入,记得这里是上面哦!

    if,is_utf8($tag==1) { $tag = iconv,"utf-8","gbk",$tag; }

    这个作用就是调用上面的函数判断编码 如果是 utf8则转为gbk;

    到此,tags伪静态问题全面完美解决!

    DedeCMS全站伪静态怎么设置

    开启伪静态的前提条件

    保证你的空间或服务器支持伪静态即URL重写

    开启DedeCms伪静态

    开启伪静态的方法:后台--》系统--》核心设置 找到:是否使用伪静态: 选择是 确定保存。

    栏目和文章发布设置

    栏目列表选项: 选择使用动态页 发布选项: 选择仅动态浏览

    DEDECMS全站伪静态方法

    首页伪静态

    把站点根目录下index.html删除,以后不更新主页HTML即可,当然你也可以选择不使用动态首页。

    频道、列表、文章伪静态

    主要通过修改GetFileName,、GetTypeUrl,这两个函数实现。DedeCms V5.3、DedeCms V5.5和DedeCms V5.6版本,打开/include/channelunit.func.php进行修改。注意:DedeCms V5.7,此文件路径更改了,你打开/include/helpers/channelunit.helper.php即可。

    a.将GetFileName,中的如下代码:

    //动态文章

    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,这个随个人喜欢,不作更改也行。

    b.将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$plist = str_replace,'.php?tid=', '-', $plist;将列表分页默认链接格式/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$PageList = str_replace,".php?aid=","-",$PageList;这步不作修改也可以,只是个人喜好问题。

    TAG标签伪静态

    DedeCms默认的TAG标签URL,形如/tags.php?/DedeCMS5.7/,非常之难看。打开/include/taglib/tag.lib.php,找到lib_tag,函数下的:

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

    替换为

    $row['link'] = $cfg_cmsurl."/tags/".urlencode,$row['keyword']."/";到这里,TAG标签URL中的“.php?”号就去掉了。

    搜索伪静态

    DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。小拼就偷下懒,将搜索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?”即可。

    1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
    2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
    3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
    4. 建站教程 > 织梦dedecms的伪静态,织梦设置伪静态

    用户评论