IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 怎样设置织梦全站伪静态?织梦dede全站伪静态设置教程。 -> 正文阅读

[PHP知识库]怎样设置织梦全站伪静态?织梦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/环境下织梦伪静态规则

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:41:11  更:2021-07-14 10:41:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 0:06:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码