对于想了解dedecms织梦提升快速生成静态网页速度的读者,本文将提供新的信息,我们将详细介绍织梦如何制作静态网站,并且为您提供关于Dedecms生成静态网页速度特别慢的问题、dedecms织梦Tag
对于想了解dedecms织梦提升快速生成静态网页速度的读者,本文将提供新的信息,我们将详细介绍织梦如何制作静态网站,并且为您提供关于Dedecms 生成静态网页速度特别慢的问题、dedecms织梦Tag标签伪静态设置方法、Dedecms织梦tag链接伪静态的设置、dedecms织梦全站伪静态设置+全套伪静态规则的有价值信息。
本文目录一览:- dedecms织梦提升快速生成静态网页速度(织梦如何制作静态网站)
- Dedecms 生成静态网页速度特别慢的问题
- dedecms织梦Tag标签伪静态设置方法
- Dedecms织梦tag链接伪静态的设置
- dedecms织梦全站伪静态设置+全套伪静态规则
dedecms织梦提升快速生成静态网页速度(织梦如何制作静态网站)
Dedecms 生成静态网页速度特别慢的问题
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
|
stem.webServer>
figuration>
|
Dedecms织梦tag链接伪静态的设置
原本的tag链接类似于:
上一篇:DedeCMS织梦V5.7开启memcache缓存的方法
下一篇:dedecms5.7升级为5.7导致TAG丢失等问题处理
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
网站后台开启伪静态选项
网站后台设置整站为动态
这里可以借助一个小插件来完成,一劳永逸
插件download懒人包
网站文件修改
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}&totalresult={R:2}&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}&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}&PageNo={R:2}&pagesize=2&searchtype=title" appendQueryString="false" />
</rule>
<rule name="搜索页">
<match url="^search/(.*).html$" ignoreCase="false" />
<action type="Rewrite" url="/plus/search.php?q={R:1}&pagesize=2&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织梦全站伪静态设置+全套伪静态规则等相关知识,可以在本站进行查询。
本文标签: