GVKun编程网logo

dedecms织梦提升快速生成静态网页速度(织梦如何制作静态网站)

19

对于想了解dedecms织梦提升快速生成静态网页速度的读者,本文将提供新的信息,我们将详细介绍织梦如何制作静态网站,并且为您提供关于Dedecms生成静态网页速度特别慢的问题、dedecms织梦Tag

对于想了解dedecms织梦提升快速生成静态网页速度的读者,本文将提供新的信息,我们将详细介绍织梦如何制作静态网站,并且为您提供关于Dedecms 生成静态网页速度特别慢的问题、dedecms织梦Tag标签伪静态设置方法、Dedecms织梦tag链接伪静态的设置、dedecms织梦全站伪静态设置+全套伪静态规则的有价值信息。

本文目录一览:

dedecms织梦提升快速生成静态网页速度(织梦如何制作静态网站)

dedecms织梦提升快速生成静态网页速度(织梦如何制作静态网站)

 
其实使用DEDECMS时间长了,都会觉得在生成静态页面的时候,有些不仅如人意的地方,如果我们的DEDECMS数据库中有数十万条数据,那么我们在生成HTML静态页面时,会很慢。今天我在官方论坛上发现可以快速生成静态页面的代码,经测试,生成速度确实提升不少。郑州网站建设蝶动网络分享修改方法如下:
 
找到文件:include/inc/inc_fun_SpGetArcList.php
 
for($i=0;$i<$ridnum;$i++){
 
if($tpsql=="") $tpsql .= " And ( (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
 
else $tpsql .= " Or (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
 
}
 
把上面的这段注释掉,替换为下面的代码:
 
for($i=0;$i<$ridnum;$i++){
 
if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,'arc');
 
else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,'arc');
 
}
 
速度快好几倍,原理就是,副栏目不用参与了,极大的提高了运行速度。
本文章网址:http://www.ppssdd.com/code/350.html。转载请保留出处,谢谢合作!

Dedecms 生成静态网页速度特别慢的问题

Dedecms 生成静态网页速度特别慢的问题

最近有位站长朋友咨询烈火网一个十几万数据的Dedecms系统,发现用Dedecms生成速度,慢的跟蜗牛一样,cpu达到100%,有时候半天都不动。本人经过查找在Dedecms官网论坛找到个合适的代码,试验修改后,速度要快很多!修改方法如下: 
 
找到文件:include/inc/inc_fun_SpGetArcList.PHP
copy to Clipboard Codes引用的内容:[www.jb51.cc]
for($i=0;$i<$ridnum;$i++){ 
if($tpsql=="") $tpsql .= " And ( (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') "; 
else $tpsql .= " Or (".TypeGetSunID($reids[$i],'arc')." Or arc.typeid2='".$reids[$i]."') "; 
}
把上面的这段注释掉,替换为下面的代码:
 
copy to Clipboard Codes引用的内容:[www.jb51.cc]
for($i=0;$i<$ridnum;$i++){ 
if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],'arc'); 
else $tpsql .= " Or ".TypeGetSunID($reids[$i],'arc'); 
}
速度快好几倍,原理就是,副栏目不用参与了,极大的提高了运行速度。

dedecms织梦Tag标签伪静态设置方法

dedecms织梦Tag标签伪静态设置方法

开发方法

1、修改一下tag链接形式的伪静态化,打开/include/taglibtag.lib.PHP中,找到

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

将其改为:

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

 

2、分页链接形式伪静态化修改,打开/include/arc.taglist.class.PHP,将其分页函数替换为以下代码(整个函数替换,做好备份):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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 "
    }
    if($this->TotalResult == 0)
    {
        return "
    }
    $maininfo = "
    $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.="上一页
        $indexpage="首页
    }
    else
    {
        $indexpage="首页
    }
    if($this->PageNo!=$totalpage && $totalpage>1)
    {
        $nextpage.="下一页
        $endpage="
    }
    else
    {
        $endpage="
    }
    //获得数字链接
    $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.= "
        }
        else
        {
            $listdd.="
        }
    }
    $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、伪静态规则(整个根据服务器不一样,选择不同的规则,这里提供web.config的规则)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
figuration>
    stem.webServer>
        
            
               
                    noreCase="true" />
                    
                        
                        
                    
                    PHP?/{R:1}" appendQueryString="false" />
                
                
                    noreCase="true" />
                    
                        
                        
                    
                    PHP?/{R:1}/{R:2}" appendQueryString="false" />
                
            
        
    stem.webServer>
figuration>

Dedecms织梦tag链接伪静态的设置

Dedecms织梦tag链接伪静态的设置

Dedecms织梦tag链接伪静态的设置
原本的tag链接类似于:
http://www.zuimoban.com/tags.PHP?/织梦/
http://www.zuimoban.com/tags.PHP?/MysqL/
但是从SEO的角度来看,我希望  吧链接修改为
http://www.zuimoban.com/tags/MysqL/
http://www.zuimoban.com/tags/织梦/  。
修改了两个文件:
【1】 、/include/taglib/tag.lib.PHP
大概在87行将
$row['link'] = $cfg_cmsurl."/tags.PHP?/".urlencode($row['keyword'])."/";
 
修改为
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";
 
【2】、/include/arc.taglist.class.PHP
大概在457行将
$purl = $this->GetCurUrl();
$purl .= "?/".urlencode($this->Tag);
 
将修改为:
$purl = "/tags/".urlencode($this->Tag);
 
然后就是设置伪静态:
apache主机:
RewriteRule ^tags\.html$ tags\.PHP
RewriteRule ^tags/(.*)/$ tags.PHP?/$1
RewriteRule ^tags/(.*)/([0-9]+)/$ tags.PHP?/$1/$2/
 
Nginx主机:
rewrite "^/tags\.html$" /tags\.PHP last;
rewrite "^/tags/(.*)/$" /tags.PHP?/$1/ last;
rewrite "^/tags/(.*)/([0-9]+)/$" /tags.PHP?/$1/$2/ last;

上一篇:DedeCMS织梦V5.7开启memcache缓存的方法

下一篇:dedecms5.7升级为5.7导致TAG丢失等问题处理

dedecms织梦全站伪静态设置+全套伪静态规则

dedecms织梦全站伪静态设置+全套伪静态规则

 

请确保你网站所在的主机或者服务器支持伪静态并且已经开启了伪静态功能!

 

本教程主要设置织梦伪静态页面包括有:

1.栏目页 /plus/list-2.html

2.栏目页分页 /plus/list-2-26-2.html

3.内容详细页 /plus/view-112-1.html

4.内容详细页分页 /plus/view-112-2.html

5.TAG标签页 /tags/织梦/

6.TAG标签分页 /tags/织梦/2/

7.搜索页 /search/织梦.html

8.搜索页分页 /search/织梦-2.html

网站后台开启伪静态选项

dedecms织梦全站伪静态设置+全套伪静态规则



网站后台设置整站为动态

这里可以借助一个小插件来完成,一劳永逸
插件download懒人包

dedecms织梦全站伪静态设置+全套伪静态规则



网站文件修改

1、栏目页和内容详细页伪静态链接

打开 \include\helpers\channelunit.helper.php 找到

global $cfg_typedir_df;

改成

global $cfg_typedir_df, $cfg_rewrite;

继续找到

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

改成

if($cfg_rewrite == 'Y')

{

    $reurl = $GLOBALS["cfg_phpurl"]."/list-".$typeid.'.html';

}

else

{

    //动态

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

}


2、手机版栏目页分页不使用PC版伪静态
打开 \include\arc.listview.class.php 找到

if($cfg_rewrite == 'Y')

大概在1198行,把这一行改成

if($cfg_rewrite == 'Y' && !defined('DEDEMOB'))


3、TAG标签伪静态链接
打开 \include\taglib\tag.lib.php 找到

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

改成

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


4、TAG标签分页伪静态链接
打开 \include\arc.taglist.class.php 找到

$this->PageNo = $GLOBALS['PageNo'];

在它的下面加入

if($this->PageNo == 0)

{

    $this->PageNo = 1;

}

继续找到

$prepage="";

在它的上面加入

global $cfg_rewrite;

继续找到

$purl .= "?/".urlencode($this->Tag);

改成

if($cfg_rewrite == 'Y')

{

    $purl = "/tags/".urlencode($this->Tag);

}

else

{

    $purl .= "?/".urlencode($this->Tag);

}


4、搜索页伪静态链接
打开 \plus\search.php 找到

$t1 = ExecTime();

在它的下面加入

$keyword = preg_replace("/-(\d+)/i",'',$keyword);

$oldkeyword = preg_replace("/-(\d+)/i",'',$oldkeyword);

打开 \include\arc.searchview.class.php 找到

global $oldkeyword;

改成

global $oldkeyword, $cfg_rewrite;

继续找到

$purl .= "?".$geturl;

改成

if($cfg_rewrite != 'Y' && !defined('DEDEMOB'))

{

    $purl .= "?".$geturl;

}

else

{

    $purl = '/search/'.urlencode($oldkeyword);

}

继续找到

return $plist;

在它的上面加入

if($cfg_rewrite == 'Y' && !defined('DEDEMOB'))

{

    $plist = preg_replace("/PageNo=(\d+)/i",'-\\1.html',$plist);

}


*后还需要在你源码里搜索框代码改成静态的js提交搜索,参考下面代码,注意红框的地方

<script type="text/javascript">

function search()

{

    var q = document.getElementById("q").value;

    window.location.href = "/"+q+".html";

}

function enterIn(obj,evt)

{

    var evt = evt ? evt : (window.event ? window.event : null);

    if (evt.keyCode == 13)

    {

        var q = obj.value;

        window.location.href = "/"+q+".html";

    }

}

</script>

<form action="" method="post" onsubmit="return false">

    <div>

        <h4>搜索</h4>

        <input name="q" id="q" onkeydown="enterIn(this,event);" type="text" />

        <button type="submit"onclick="search()">搜索</button>

    </div>

#p#分页标题#e#

</form>


伪静态规则
懒人包已经打包了iis6、iis7、8、apache、nginx的规则文件
下面再写一下各规则

iis6伪静态规则 httpd.ini

#栏目页和列表分页

RewriteRule ^(.*)/plus/list-([0-9]+)\.html $1/plus/list\.php\?tid=$2

RewriteRule ^(.*)/plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4

#内容详细页和内容分页

RewriteRule ^(.*)/plus/view-([0-9]+)-([0-9]+)\.html $1/plus/view\.php\?arcID=$2&pageno=$3

#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]

#搜索页

RewriteRule ^(.*)/search/(.*)-([0-9]+)\.html  $1/plus/search.php?q=$2&PageNo=$3&pagesize=2&searchtype=title

RewriteRule ^(.*)/search/(.*)\.html  $1/plus/search.php?q=$2&pagesize=2&searchtype=title


iis7、8伪静态规则 web.config

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

<configuration>

    <system.webServer>

        <rewrite>

            <rules>

                <rule name="首页">

                    <match url="^index.html$" ignoreCase="false" />

                    <action type="Rewrite" url="index.php" appendQueryString="false" />

                </rule>

                <rule name="列表">

                    <match url="^plus/list-([0-9]+).html$" ignoreCase="false" />

                    <action type="Rewrite" url="/plus/list.php?tid={R:1}" appendQueryString="false" />

                </rule>

                <rule name="列表分页">

                    <match url="^plus/list-([0-9]+)-([0-9]+)-([0-9]+).html$" ignoreCase="false" />

                    <action type="Rewrite" url="/plus/list.php?tid={R:1}&amp;totalresult={R:2}&amp;PageNo={R:3}" appendQueryString="false" />

                </rule>

                <rule name="新闻分页">

                    <match url="^plus/view-([0-9]+)-([0-9]+).html$" ignoreCase="false" />

                    <action type="Rewrite" url="/plus/view.php?aid={R:1}&amp;pageno={R:2}" appendQueryString="false" />

                </rule>

<rule name="tag首页">

<match url="^tags.html$" ignoreCase="false" />

<action type="Rewrite" url="tags.php" appendQueryString="false" />

</rule>

<rule name="tag列表">

<match url="^tags/(.*)(?:(\?.*))*$" ignoreCase="false" />

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

</rule>

<rule name="tag列表*后有左斜杠">

<match url="^tags/(.*)/(?:(\?.*))*$" ignoreCase="false" />

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

</rule>

<rule name="tag列表分页">

<match url="^tags/(.*)/([0-9])(?:(\?.*))*$" ignoreCase="false" />

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

</rule>

<rule name="tag列表分页*后有左斜杠">

<match url="^tags/(.*)/([0-9])/(?:(\?.*))*$" ignoreCase="false" />

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

</rule>

<rule name="搜索页分页">

                    <match url="^search/(.*)-([0-9]+).html$" ignoreCase="false" />

#p#分页标题#e#

                    <action type="Rewrite" url="/plus/search.php?q={R:1}&amp;PageNo={R:2}&amp;pagesize=2&amp;searchtype=title" appendQueryString="false" />

                </rule>

<rule name="搜索页">

                    <match url="^search/(.*).html$" ignoreCase="false" />

                    <action type="Rewrite" url="/plus/search.php?q={R:1}&amp;pagesize=2&amp;searchtype=title" appendQueryString="false" />

                </rule>

            </rules>

        </rewrite>

    </system.webServer>

</configuration>


apache伪静态规则 .htaccess

#栏目页和列表分页

RewriteRule ^plus/list-([0-9]+)\.html$ plus/list.php?tid=$1

RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ plus/list.php?tid=$1&TotalResult=$2&PageNo=$3      

#内容详细页和内容分页

RewriteRule ^plus/view-([0-9]+)-([0-9]+)\.html$ plus/view.php?arcID=$1&pageno=$2

#TAG标签

RewriteRule ^tags\.html$ tags\.php

RewriteRule ^tags/(.*)(?:(\?.*))* tags\.php\?\/$1

RewriteRule ^tags/(.*)\/(?:(\?.*))*  tags\.php\?\/$1\/

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

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

#搜索页

RewriteRule ^search/(.*)-([0-9]+)\.html$  plus/search.php?q=$1&PageNo=$2&pagesize=2&searchtype=title

RewriteRule ^search/(.*)\.html$  plus/search.php?q=$1&pagesize=2&searchtype=title


nginx伪静态规则

rewrite ^/plus/list-([0-9]+)\.html$ /plus/list.php?tid=$1;

rewrite ^/plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3;

rewrite ^/plus/view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1;

rewrite ^/plus/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2;

rewrite ^/tags\.html$ /tags.php;

rewrite ^/tags/(.*)(?:(\?.*))* /tags.php?/$1;

rewrite ^/tags/(.*)/(?:(\?.*))*  /tags.php?/$1/;

rewrite ^/tags/(.*)/([0-9])(?:(\?.*))* /tags.php?/$1/$2;

rewrite ^/tags/(.*)/([0-9])/(?:(\?.*))*  /tags.php?/$1/$2/;

rewrite ^/search/(.*)-([0-9]+)\.html$  /plus/search.php?q=$1&PageNo=$2&pagesize=2&searchtype=title;

rewrite ^/search/(.*)\.html$  /plus/search.php?q=$1&pagesize=2&searchtype=title;

本文章网址:http://www.ppssdd.com/code/3442.html。转载请保留出处,谢谢合作!

今天关于dedecms织梦提升快速生成静态网页速度织梦如何制作静态网站的分享就到这里,希望大家有所收获,若想了解更多关于Dedecms 生成静态网页速度特别慢的问题、dedecms织梦Tag标签伪静态设置方法、Dedecms织梦tag链接伪静态的设置、dedecms织梦全站伪静态设置+全套伪静态规则等相关知识,可以在本站进行查询。

本文标签: