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

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

织梦全站伪静态虽然比较简单但是改的内容也比较多,如果您觉得麻烦可以直接 下载我修改好的文件直接覆盖到您的网站中即可   下载地址   https://download.csdn.net/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/环境下织梦伪静态规则

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远的WEB小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值