失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 怎样设置织梦全站伪静态?织梦dede全站伪静态设置教程。

怎样设置织梦全站伪静态?织梦dede全站伪静态设置教程。

时间:2021-12-29 20:45:00

相关推荐

怎样设置织梦全站伪静态?织梦dede全站伪静态设置教程。

设置织梦全站伪静态前请先了解自己的服务器是否支持伪静态并且已经开启了伪静态功能;织梦伪静态开启成功后,登录后台地址时,可能会出现访问空白现象,只需要在后台地址加index.php即可 列:/dede/index.php

织梦全站伪静态虽然比较简单但是改的内容也比较多,如果您觉得麻烦可以直接 下载我修改好的文件直接覆盖到您的网站中即可 下载地址 /download/qq_39339179/20241593

1、第一步:设置开启织梦全站伪静态

a、在网站后台打开伪静态;

2、第二步:设置织梦dedecms全站栏目和文章为动态链接

a、设置栏目和文章为动态链接在系统-SQL命令行工具中执行如下语句(如果您的栏目和文章地址本来就是动态的可以忽略此步骤)

//dede_ 改为你自己的表前缀update dede_arctype set isdefault=-1;update dede_archives set ismake=-1;

3、第三步:修改织梦dedecms列表页和内容页伪静态链接

a、找到/plus/list.php 文件打开,把

$tid = (isset($tid) && is_numeric($tid) ? $tid : 0);

替换成

if($cfg_rewrite == 'Y'){if(!is_numeric($tid)){$typedir = parse_url($tid, PHP_URL_PATH);$PageNo = stripos(GetCurUrl(), '.html') ? intval(str_replace('.html', '', end(explode("_", GetCurUrl())))) : 1;$tinfos = $dsql->GetOne("SELECT * FROM `#@__arctype` WHERE typedir='/$typedir' or typedir='{cmspath}/$typedir'");if(is_array($tinfos)){$tid = $tinfos['id'];$typeid = GetSonIds($tid);$row = $dsql->GetOne("Select count(id) as total From `#@__archives` where arcrank>-1 and typeid in({$typeid})");}else{$tid = 0;}}}else{$tid = (isset($tid) && is_numeric($tid) ? $tid : 0);}

b、找到/plus/view.php 文件打开,在$t1 = ExecTime(); 下面加 如下代码

if ($cfg_rewrite == 'Y'){if (!is_numeric($aid)){$aid= stripos(GetCurUrl(), '.html') ? str_replace('.html', '', end(explode("/", GetCurUrl()))) : 0;$aidpage = explode("_", $aid);$aid= intval($aidpage[0]);$pageno = intval($aidpage[1]);}$arcrow = GetOneArchive($aid);if ($arcrow['arcurl'] != GetCurUrl()){header("location:/404.html");die ();}}

c、打开 /include/arc.listview.class.php 找到 //获得上一页和下一页的链接在它的上面加入

if($cfg_rewrite == 'Y'){$purl = "";}else{$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";$purl .= '?'.$geturl;}

继续找到$plist = str_replace('.php?tid=', '-', $plist);在它的上面加入

$tnamerule = $this->GetMakeFileRule($this->Fields['id'],"list",$this->Fields['typedir'],$this->Fields['defaultname'],$this->Fields['namerule2']);$tnamerule = preg_replace("/^(.*)\//", '', $tnamerule);$plist = preg_replace("/PageNo=(\d+)/i",str_replace("{page}","\\1",$tnamerule),$plist);

d、打开 /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' && $ispart != 2){$reurl = $typedir.'/';}else{//动态$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;}

找到 return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; 替换为

$articleDir = MfTypedir($typedir);$articleRule = strtolower($namerule);if($articleRule==''){$articleRule = strtolower($GLOBALS['cfg_df_namerule']);}if($typedir==''){$articleDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir'];}$dtime = GetDateMk($timetag);list($y, $m, $d) = explode('-', $dtime);$arr_rpsource = array('{typedir}','{y}','{m}','{d}','{timestamp}','{aid}','{cc}');$arr_rpvalues = array($articleDir,$y, $m, $d, $timetag, $aid, dd2char($m.$d.$aid.$y));if($filename != ''){$articleRule = dirname($articleRule).'/'.$filename.$GLOBALS['cfg_df_ext'];}$articleRule = str_replace($arr_rpsource,$arr_rpvalues,$articleRule);if(preg_match("/\{p/", $articleRule)){$articleRule = str_replace('{pinyin}',GetPinyin($title).'_'.$aid,$articleRule);$articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule);}$articleUrl = '/'.preg_replace("/^\//", '', $articleRule);if(preg_match("/index\.html/", $articleUrl) && $cfg_arc_dirname=='Y'){$articleUrl = str_replace('index.html', '', $articleUrl);}return $articleUrl;

4、第四步:织梦dedecms文章内容页,分页伪静态

a、打开 /include/arc.archives.class.php

找到$PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1-1.html', $PageList);改成

$PageList = preg_replace("#view.php\?aid=(\d+)#i", '\\1.html', $PageList);

再找到$PageList = str_replace(".php?aid=", "-", $PageList); 改成

$PageList = str_replace("view.php?aid=", "", $PageList);

再找到$PageList = preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList); 改成

$PageList = preg_replace("#&pageno=(\d+)#i", '_\\1.html', $PageList);

4、第五步:织梦dedecmsTAG标签伪静态

a、打开根目录下/tags.php 找到 18行 if(isset($tags[2])) $PageNo = intval($tags[2]); 下方加入

$tagid = intval($tag);if(!empty($tagid)){$row = $dsql->GetOne("SELECT tag FROM `#@__tagindex` WHERE id = {$tagid}");if(!is_array($row)){ShowMsg("系统无此标签,可能已经移除!","-1");exit();}else{$tag = $row['tag'];define('DEDERETAG', 'Y');}}else{$tag = '';}

b、 打开/include/taglib/tag.lib.php 文件大约87行找到

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

$row['link'] = $cfg_cmsurl."/tags/".$row['id'].".html";

c、打开/include/arc.taglist.class.php 文件大约458行找到$purl .= "?/".urlencode($this->Tag); 替换

if(!defined('DEDERETAG')){$purl .= "?/".urlencode($this->Tag);}

d、继续找到return $plist; 在上方加入

if(defined('DEDERETAG')){$plist = preg_replace('/_(\d+).html/i','.html',$plist);$plist = preg_replace('/.html\/(\d+)\//i','_\\1.html',$plist);}

到此设置织梦全站伪静态全部完成,不过还需要根据自己的网站运行环境来配置伪静态规则

具体的规则请查看 iis/apache/nginx/环境下织梦伪静态规则

如果觉得《怎样设置织梦全站伪静态?织梦dede全站伪静态设置教程。》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。