在本文中,我们将带你了解DedeCMS织梦栏目用目录名个性化伪静态在这篇文章中,我们将为您详细介绍DedeCMS织梦栏目用目录名个性化伪静态的方方面面,并解答织梦如何制作静态网站常见的疑惑,同时我们还
在本文中,我们将带你了解DedeCMS织梦栏目用目录名个性化伪静态在这篇文章中,我们将为您详细介绍DedeCMS织梦栏目用目录名个性化伪静态的方方面面,并解答织梦如何制作静态网站常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的DEDECMS全站伪静态怎么设置 DEDECMS伪静态设置方法、dedecms织梦nginx下伪静态规则设置、dedecms织梦tag标签伪静态的设置方法、dedecms织梦Tag标签伪静态设置办法。
本文目录一览:- DedeCMS织梦栏目用目录名个性化伪静态(织梦如何制作静态网站)
- DEDECMS全站伪静态怎么设置 DEDECMS伪静态设置方法
- dedecms织梦nginx下伪静态规则设置
- dedecms织梦tag标签伪静态的设置方法
- dedecms织梦Tag标签伪静态设置办法
DedeCMS织梦栏目用目录名个性化伪静态(织梦如何制作静态网站)
DedeCMS伪静态好处就不多说了,但是绝大多数的处理方式都是列表用/list-1/ 或/list-1.html,内容详细页用/view-1.html。这些字母加ID数字可读性差,能不能像静态页面一样采用英文或拼音网址呢。下面织梦58分享修改个性伪静态的办法。
栏目网址伪静态修改打开/include/helpers/channelunit.helper.php,找到
//动态新闻 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; }替换为
//动态新闻 if($cfg_rewrite == 'Y') { return $typedir."/view-".$aid.'.html'; }如果栏目名为 about,则该栏目下的新闻网址是 /about/view-1.html。 继续往下找到
//动态 $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;替换为
//动态 $reurl = $typedir."/";意思是:将默认的频道或是栏目页网址如: /plus/list.php?tid=1变更为如:/about/
栏目列表分页修改打开/include/arc.listview.class.php,找到
$plist = str_replace('.php?tid=', '-', $plist);替换为
$plist = str_replace('plus/list.php?tid=','list-', $plist);将默认的 /plus/list.php?tid=1 替换成 /list-1 的模式。然后找到
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);在下面加一句
$plist = str_replace('/','',$plist);这句是过滤掉“/”符号。
意思是:将默认的列表分页链接格式plus/list.php?tid=x$x$xl修改为/list-x-x-x.html,然后去掉*前面的/符号,让链接成为相对链接,这样就能在列表分页实现下面的地址形式。
/about/list-6-31-2.html 6:代表栏目ID 31:代表总新闻数 2:代表页数但这个并不是*佳的,因为新闻总数是会变化的,*佳的网址如下
/about/list-6-2.html 伪静态规则参考 RewriteEngine On RewriteCond %{http_host} ^ [NC] RewriteRule ^(.*)$ $1 [L,R=301] #伪静态栏目页(通用规则放前面,个性规则放后面) RewriteRule ^list-([0-9]+)\.html$ /plus/list.php?tid=$1 RewriteRule ^list-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=*&PageNo=$3 RewriteRule ^view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1 RewriteRule ^view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2 #以下为个性规则,一个栏目分别写一条,以此类推 RewriteRule ^about/$ /plus/list.php?tid=6 RewriteRule ^case/$ /plus/list.php?tid=5 #伪静态栏目页分页 RewriteRule ^about/list-6-([0-9]+)\.html$ /plus/list.php?tid=6&totalresult=*&PageNo=$2 RewriteRule ^case/list-5-([0-9]+)\.html$ /plus/list.php?tid=6&totalresult=*&PageNo=$2 #伪静态信息浏览 RewriteRule ^about/([0-9]+)\.html$ /plus/view.php?aid=$1 RewriteRule ^about/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2 RewriteRule ^case/([0-9]+)\.html$ /plus/view.php?aid=$1 RewriteRule ^case/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2本文章网址:http://www.ppssdd.com/code/14844.html。转载请保留出处,谢谢合作!
DEDECMS全站伪静态怎么设置 DEDECMS伪静态设置方法
1、首先栏目和文章最好设置成动态浏览,这样才不会生成静态HTML文件。
修改数据库
将所有文档设置为“仅动态”,可以进入数据库管理中,执行下面命令:
update dede_archives set ismake=-1
并将ismake的默认值设置为 -1即动态。
将所有栏目设置为“使用动态页”,可以进入数据库管理中,执行下面命令:
update dede_arctype set isdefault=-1
2、修改重写的URL。
如果用默认的设置,访问的URL是:
http://www.XXXX.com/plus/view-131-1.html
这样的形式,我们是可以更改这种样式的.
找到文件/include/helpers/channelunit.helper.PHP打开.
可以看到有这样的语句
代码如下
复制代码
retu $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; 这就是文章的url格式. 修改为
retu "/view-".$aid.'-1.html'; 找到这是列表的重写url.
$reurl = $GLOBALS['cfg_PHPurl']."/list.PHP?tid=".$typeid; 这是列表的重写url. 修改为:
$reurl = "/list-".$typeid.".html";
3、需要设置重写规则。
在系统目录下加一个 .htaccess文件,在里面加上下面的:
代码如下
复制代码
RewriteEngine On RewriteRule ^list-([0-9]+)\.html$ /plus/list.PHP?tid=$1 RewriteRule ^list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.PHP?tid=$1&totalresult=$2&PageNo=$3 RewriteRule ^view-([0-9]+)-1\.html$ /plus/view.PHP?arcID=$1 RewriteRule ^view-([0-9]+)-([0-9]+)\.html$ /plus/view.PHP?aid=$1&pageno=$2
如果你的系统支持url重写,到这里就可以用伪静态访问了.这样就完成了设置。
更进一步,还可以把view换成自己的任何词语,这也要把include/arc.archives.class.PHP文件中的view也一样替换。
发布选项: 生成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') { retu $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; } 替换为
//动态文章 if($cfg_rewrite == 'Y') { retu "/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,这步也可以不作更改。
文章分页伪静态
打开/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?”即可。
问答伪静态
问答模块的伪静态实现比较简单,只要后台开启伪静态支持即可,至于个别页面,如ask目录下的browser.PHP、question.PHP以及include目录下的common.inc.PHP、functi*****.inc.PHP都需要简单修改才可以匹配伪静态规则。注意一点,Dedecms v5.7问答模块整体升级了,之前的规则已经不适用了,小拼以后会专门写个教程供大家参考的。
Dedecms伪静态注意事项
1)以上提供的Dedecms伪静态修改以及规则都是按照个人的修改步骤来的,仅供参考,你可以根据站点的实际情况作相应调整;
2)伪静态实现思路,即根据理想的URL结构写好伪静态规则,然后对程序进行相应修改,并没有你想象中的那么复杂;
3)不会程序、不会正则都没有关系,但是思路一定要清晰,还有就是禁得住“折腾”,多研究,搞透了,对提升自己也有极大好处。
上一篇:超简单的DEDECMS整合百度编辑器(Ueditor)使用教程
下一篇:dedecms pc和手机站共享数据库,手机站不显示图片解决办法
dedecms织梦nginx下伪静态规则设置
Dedecms织梦 Nginx下伪静态规则设置方法
1
2
3
4
5
6
7
8
9
10
|
location / {
rewrite "^/index.html$" /index.PHP last;
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;
rewrite "^/tags/$" /tags.PHP last;
rewrite "^/tags/(.*)/$" /tags.PHP?/$1/ last;
break;
}
|
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 "<span >共1页/".$this->TotalResult."条</span>";
}
if($this->TotalResult == 0)
{
return "<span >共0页/".$this->TotalResult."条</span>";
}
$maininfo = "<span >共{$totalpage}页/".$this->TotalResult."条</span>rn";
$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.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>rn";
$indexpage="<li><a href='".$purl."-1.html'>首页</a></li>rn";
}
else
{
$indexpage="<li><a>首页</a></li>rn";
}
if($this->PageNo!=$totalpage && $totalpage>1)
{
$nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>rn";
$endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>rn";
}
else
{
$endpage="<li><a>末页</a></li>rn";
}
//获得数字链接
$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 ><a>$j</a></li>rn";
}
else
{
#p#分页标题#e#$listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>rn";
}
}
$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
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="weather1" stopProcessing="true">
<match url="tags/([^-]+).html$" ignoreCase="true" />
<conditions 日志icalGrouping="MatchAll">
#p#分页标题#e#<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 日志icalGrouping="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>
本文章网址:http://www.ppssdd.com/code/11936.html。转载请保留出处,谢谢合作!我们今天的关于DedeCMS织梦栏目用目录名个性化伪静态和织梦如何制作静态网站的分享就到这里,谢谢您的阅读,如果想了解更多关于DEDECMS全站伪静态怎么设置 DEDECMS伪静态设置方法、dedecms织梦nginx下伪静态规则设置、dedecms织梦tag标签伪静态的设置方法、dedecms织梦Tag标签伪静态设置办法的相关信息,可以在本站进行搜索。
本文标签: