主页 > 教程 > 正文

织梦电脑站手机站伪静态+全套伪静态规则-自由目

织梦电脑手机站伪静态+全套伪静态规则-自由目录版 - 织梦仿站开发教程 Dedehtml.com 博客首页 织梦教程 写在前面的话
  • 请确保你网站所在的主机或者服务器支持伪静态并且已经开启了伪静态功能
  • 本教程只适合给那些需要电脑版和手机版都想要伪静态的小伙伴使用!
  • 开启成功后,登录后台时,必须在地址栏补加上index.php

  • 织梦电脑站手机站伪静态+全套伪静态规则-自由目录版 - 织梦仿站开发教程 Dedehtml.com 博客首页 织梦教程


    Ps:后台登录不想加index.php或者某个文件夹想排除的小伙伴可以在栏目列表伪静态规则前面加个排除目录,添加后目录不使用伪静态

    apache

    #排除 RewriteRule ^(dede|m|admin)($|/)$ /$1/index.php [L]

    nginx

    rewrite ^/(dede|m|admin)($|/) /$1/index.php last;

    dede|m|admin 这3个目录不使用伪静态

    如图


    织梦电脑站手机站伪静态+全套伪静态规则-自由目录版 - 织梦仿站开发教程 Dedehtml.com 博客首页 织梦教程



    织梦电脑站手机站伪静态+全套伪静态规则-自由目录版 - 织梦仿站开发教程 Dedehtml.com 博客首页 织梦教程


    设置伪静态后,你的电脑站url会像如下:
  • 产品列表页
  • 产品列表分页
  • 新闻列表页
  • 新闻列表分页
  • 内容页
  • 内容页分页
  • TAG标签页  织梦/
  • TAG标签分页 织梦/2/
  • 搜索页    织梦.html
  • 搜索页分页  织梦-2.html
  • 设置伪静态后,你的手机站url会像如下:
  • 产品列表页
  • 产品列表分页
  • 新闻列表页
  • 新闻列表分页
  • 内容页
  • 内容页分页
  • TAG标签页  织梦/
  • TAG标签分页 织梦/2/
  • 搜索页    织梦.html
  • 搜索页分页  织梦-2.html
  • 网站后台开启伪静态选项

    后台-系统参数-核心设置-是否使用伪静态:"是"


    织梦电脑站手机站伪静态+全套伪静态规则-自由目录版 - 织梦仿站开发教程 Dedehtml.com 博客首页 织梦教程


    网站后台取消绝对路径

    后台-核心设置-启用绝对网址 改成 【否】,不用担心手机站图片问题,下面手机站伪静态教程里有办法

    网站后台设置整站为动态

    这里可以借助我写的一个小插件来完成,一劳永逸

    插件下载

    织梦全站动态静态一键切换插件

    电脑站伪静态教程开始

    1、列表页和内容页伪静态链接

    打开 /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 `dede_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 `dede_archives` where typeid in({$typeid})"); } else { $tid = 0; } } } else { $tid = (isset($tid) && is_numeric($tid) ? $tid : 0); }

    打开 /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]); } }

    打开 /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);

    打开 /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 = $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;

    2、内容文章分页伪静态

    打开 /include/arc.archives.class.php 找到

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

    有2处,改成

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

    继续找到

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

    有3处,改成

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

    继续找到

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

    有3处,改成

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

    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); }

    5、搜索页伪静态链接

    打开 /plus/search.php 找到

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

    在它的下面加入

    if ( $mobile==1 ) { define('DEDEMOB', 'Y'); }

    继续找到

    $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') { $plist = preg_replace("/PageNo=(d+)/i",'-\1.html',$plist); } return $plist;

    还需要在你电脑站模板里把搜索框代码改成静态的js提交搜索,参考下面代码,注意标红的地方

    编辑:admin,发布于2019年08月08日15时
    说点什么吧
    • 全部评论(0
      还没有评论,快来抢沙发吧!