在本文中,我们将详细介绍DEDECMS全站伪静态如何设置DEDECMS伪静态设置办法的各个方面,并为您提供关于dedecms手机伪静态的相关解答,同时,我们也将为您带来关于DEDECMS5.7伪静态怎
在本文中,我们将详细介绍DEDECMS全站伪静态如何设置 DEDECMS伪静态设置办法的各个方面,并为您提供关于dedecms手机伪静态的相关解答,同时,我们也将为您带来关于DEDECMS 5.7伪静态怎么设置、DedeCMS 5.7系统TAG标签伪静态怎么设置、DedeCMS 5.7系统TAG标签伪静态设置、dedecms tags伪静态完美解决办法的有用知识。
本文目录一览:- DEDECMS全站伪静态如何设置 DEDECMS伪静态设置办法(dedecms手机伪静态)
- DEDECMS 5.7伪静态怎么设置
- DedeCMS 5.7系统TAG标签伪静态怎么设置
- DedeCMS 5.7系统TAG标签伪静态设置
- dedecms tags伪静态完美解决办法
DEDECMS全站伪静态如何设置 DEDECMS伪静态设置办法(dedecms手机伪静态)
1、首先栏目和新闻*好设置成动态浏览,这样才不会生成静态html文件。
修改数据库
将所有文档设置为“仅动态”,可以进入数据库管理中,执行下面命令:
update dede_archives set ismake=-1
并将ismake的默认值设置为 -1即动态。
将所有栏目设置为“使用动态页”,可以进入数据库管理中,执行下面命令:
update dede_arctype set isdefault=-1
2、修改重写的网址。
如果用默认的设置, 访问的网址是:
这样的形式, 我们是可以更改这种样式的.
找到文件/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";
这步必须修改,即让你的频道或是栏目页网址变更为/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标签网址,形如/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标签网址中的“.php?”号就去掉了。
搜索伪静态
#p#分页标题#e#DedeCms搜索网址静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的网址就特麻烦,伪静态规则匹配复杂。小拼就偷下懒,将搜索网址中“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)伪静态实现思路,即根据理想的网址结构写好伪静态规则,然后对程序进行相应修改,并没有你想象中的那么复杂;
3)不会程序、不会正则都没有关系,但是思路一定要清楚,还有就是禁得住“折腾”,多研究,搞透了,对提升自己也有极大好处。
本文章网址:http://www.ppssdd.com/code/21233.html。转载请保留出处,谢谢合作!DEDECMS 5.7伪静态怎么设置
织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,dedecms5.7功能更强大和实用,但是一些朋友对dede5.7的伪静态设置不是很熟悉,下面,就为大家分享一下dede5.7伪静态的设置方法。(推荐教程:dedecms教程)
第一步、后台-系统参数-核心设置-是否使用伪静态:选择“是”;
注:你的网站空间是否支持伪静态,你可以与空间的IDC商联系一下,如果是自己的服务器,那就更好办了,自己动手,丰衣足食。一般来说,空间都是支持伪静态的。Apache服务器伪静态相对简单,直接在.htaccess文件中加入相应伪静态规则即可;而IIS服务器伪静态的实现,则需要加载Rewrite组件,然后配置httpd.ini文件。
第二步、如果你的网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具中执行如下语句:
将所有文档设置为“仅动态浏览”:
update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”:
update dede_arctype set isdefault=-1
第三步、列表页、文章页伪静态修改
打开/include/helpers/channelunit.helper.php。
(1)查找:
//动态文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; }
替换为
//动态文章 if($cfg_rewrite == 'Y') { return "/DedeCMS/DedeCMS5.7-".$aid.'-1.html'; }
意思是:将默认的/plus/view-1-1.html文章链接格式改为/DedeCMS/DedeCMS5.7-1-1.html。
(2) 查找:
//动态 $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为
//动态 $reurl = "/category/list-".$typeid.".html";
意思是:将默认的频道或是列表页URL/plus//list.php?tid=1变更为/dedecms/list-1.html形式。
第四步、列表分页伪静态修改
打开/include/arc.listview.class.php
查找:
$plist = str_replace('.php?tid=', '-', $plist);
替换为
$plist = str_replace('plus/list.php?tid=', ‘DedeCMS/DedeCMS5.7-', $plist);
将默认的plus/list.php?tid=替换成RMB/list-;
意思是:将默认的列表分页链接格式plus/list.php?tid=x$x$xl修改为DedeCMS/DedeCMS5.7-x-x-x.html。
第五步、文章分页伪静态
打开/include/arc.archives.class.php,找到获取动态的分页列表GetPagebreakDM()函数末尾处:
查找:
$PageList = str_replace("plus/view.php?tid=","DedeCMS/DedeCMS5.7-",$PageList);
替换为
$plist = str_replace('plus/view.php?tid=', ’DedeCMS/DedeCMS5.7-', $plist);
将默认的plus/view.php?tid=替换成RMB/huilv-;
意思是:将默认的文章分页链接格式plus/view.php?tid=x$x$xl修改为DedeCMS/DedeCMS5.7-x-x-x.html
第六步、TAG标签伪静态
DedeCms默认的TAG标签URL,形如/tags.php?/dedecms模板 /,是不是觉得有个问号不怎么爽,我们改成/tags/dedecms模板 /,是不是好看多了。
下面我们来改一下,打开/include/taglib/tag.lib.php:
查找:
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
替换为
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";
这样就修改好了,上传你到你的网站,切记:要记得将原网站备份哦!!
第七步、httpd.ini伪静态规则:
[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteRule ^(.*)/RMB/list-([0-9]+)\.html $1/plus/list\.php\?tid=$2 [I] RewriteRule ^(.*)/RMB/list-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4 [I] RewriteRule ^(.*)/RMB/huilv-([0-9]+)-([0-9]+)\.html $1/plus/view\.php\?arcID=$2&pageno=$3 [I] RewriteRule ^(.*)/(.*)_(.*)_([0-9]+)\.html $1/huilv/?from=$2&to=$3&num=$4 [I] 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]
将上面代码保存为:httpd.ini 上传到网站的根目录。
如无特特殊需求建议采用官方默认的生成静态的页面方式浏览。
以上就是DEDECMS 5.7伪静态怎么设置的详细内容,更多请关注php中文网其它相关文章!
DedeCMS 5.7系统TAG标签伪静态怎么设置
Dedecms 5.7系统TAG标签伪静态怎么设置?
1.修改前台显示链接
推荐学习:织梦cms
我们这里达到的效果就是使原来/tags.PHP?keywors更改为/tags/keywords.html。
这里主要修改下调用的标签,在include/tag/libtag.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,将分页函数替换为:
代码如下:
/** * 获取动态的分页列表 * * @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>共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 { $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.设置伪静态规则
我们这里以iis7为例子,设置以下规则:
代码如下:
<?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.重新生成html页面
这个操作就不用说了,全部重新生成下,至此全部修改完毕。
以上就是Dedecms 5.7系统TAG标签伪静态怎么设置的详细内容,更多请关注小编其它相关文章!
DedeCMS 5.7系统TAG标签伪静态设置
总结
以上是小编为你收集整理的DedeCMS 5.7系统TAG标签伪静态设置全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Dedecms相关文章
- • 织梦系统 dedecms pagelist标签使用修改
- • 织梦网站怎么搬家?dede系统网站迁移数
- • 织梦网站安全设置方法 dede系统网站如何
- • 织梦自动生成网站地图sitemap代码 dede
- • dede织梦纯代码制作网站地图 dede网站地
- • 织梦dede自定义表单添加全选功能 dede自
- • dede cms如何定时主动推送文章 dede实现
- • 织梦dede发布文章实时api主动推送
- • 织梦dedecms当前位置标签代码的5种写法
- • 织梦DEDECMS文章、栏目页获取当前页面顶
dedecms tags伪静态完美解决办法
用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行找到
将其修改为:
第2步:
修改分页代码部分
修改include/arc.taglist.class.PHP,找到分页函数,将其更换为:
注意:从429行 ---->541行 用以下内容替换!
(提示:网上有文章中讲的以下代码中的"pageinfo"是错误的,应该为\"pageinfo\",不然会有错误提示哦!已经代码测试OK!)
设置伪静态规则:
把以上内容保存为:web.config 放到网站根目录!
第4步:
生成文章,浏览!大功告成?错,有可能你会出现以下错误!
系统无此标签,可能已经移除!
你还可以尝试通过搜索程序去搜索这个关键字:前往搜索>>
如果你的浏览器没反应,请点击这里...
解决办法如下:
在网站根目录下找到tags.PHP 此文件,将以下代码替换掉:
换成
出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.PHP中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了
方法:
1.把以下代码加入到根目录下tags.PHP中的18行下面,也就是if(isset($tags[2])) $PageNo = intval($tags[2]);下面哦:
2.在第25行上面加入以下语句,也就是在$tag = FilterSearch(urldecode($tag));上面加入,记得这里是上面哦!
这个作用就是调用上面的函数判断编码 如果是 utf8则转为gbk;
到此,tags伪静态问题全面完美解决!
关于DEDECMS全站伪静态如何设置 DEDECMS伪静态设置办法和dedecms手机伪静态的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于DEDECMS 5.7伪静态怎么设置、DedeCMS 5.7系统TAG标签伪静态怎么设置、DedeCMS 5.7系统TAG标签伪静态设置、dedecms tags伪静态完美解决办法的相关知识,请在本站寻找。
本文标签: