写在前面的话

  • 请确保你网站所在的主机或者服务器支持伪静态并且已经开启了伪静态功能
  • 本教程只适合给那些需要电脑版和手机版都想要伪静态的小伙伴使用!

设置伪静态后,你的电脑站url会像如下

  • 列表页    http://www.dedehtml.com/plus/list-2.html
  • 列表页分页  http://www.dedehtml.com/plus/list-2-26-2.html
  • 内容页    http://www.dedehtml.com/plus/view-112-1.html
  • 内容页分页  http://www.dedehtml.com/plus/view-112-2.html
  • TAG标签页  http://www.dedehtml.com/tags/织梦/
  • TAG标签分页 http://www.dedehtml.com/tags/织梦/2/
  • 搜索页    http://www.dedehtml.com/search/织梦.html
  • 搜索页分页  http://www.dedehtml.com/search/织梦-2.html

设置伪静态后,你的手机站url会像如下

  • 列表页    http://m.dedehtml.com/plus/list-2.html
  • 列表页分页  http://m.dedehtml.com/plus/list-2-26-2.html
  • 内容页    http://m.dedehtml.com/plus/view-112-1.html
  • 内容页分页  http://m.dedehtml.com/plus/view-112-2.html
  • TAG标签页  http://m.dedehtml.com/tags/织梦/
  • TAG标签分页 http://m.dedehtml.com/tags/织梦/2/
  • 搜索页    http://m.dedehtml.com/search/织梦.html
  • 搜索页分页  http://m.dedehtml.com/search/织梦-2.html

1、网站后台开启伪静态

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

2、网站后台取消绝对路径

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

3、网站后台设置整站为动态

这里可以借助我写的一个小插件来完成,一劳永逸
织梦全站动态静态一键切换插件

电脑站伪静态教程开始

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

打开 /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 = $GLOBALS["cfg_phpurl"]."/list-".$typeid.'.html';
}
else
{//动态$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}

2、TAG标签伪静态链接

打开 /include/taglib/tag.lib.php 找到

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

改成

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";

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

4、搜索页伪静态链接

打开 /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提交搜索,参考下面代码,注意标红的地方

<script type="text/javascript">
function search()
{
    var q = document.getElementById("q").value;
    window.location.href = "http://www.dedediy.com/search/"+q+".html";
}
function enterIn(obj,evt)
{
    var evt = evt ? evt : (window.event ? window.event : null);
    if (evt.keyCode == 13)
    {
        var q = obj.value;
        window.location.href = "http://www.dedediy.com/search/"+q+".html";
    }
}
</script>
<form action="" method="post" οnsubmit="return false">
    <div class="form">
        <h4>搜索</h4>
        <input name="q" id="q" οnkeydοwn="enterIn(this,event);" type="text" />
        <button type="submit" class="search-submit" οnclick="search()">搜索</button>
    </div>
</form>

电脑站伪静态规则文件打包下载

链接: https://pan.baidu.com/s/1sVpMusrJ1Zg8quZ5xq3UpQ 密码: 5t29

包括iis6、iis7、8、apache、nginx,下载后选择对应的伪静态规则文件

手机版伪静态教程开始

1.移动版域名 m.dedehtml.com 解析并指向和绑定目录到网站目录的m文件夹

2.后台-系统配置 添加变量

(为了使用绝对路径,使用电脑版的文章图片,为了移动版模板css、js、images使用绝对路径)

变量名称:cfg_mobile
变量类型:文本
参数说明:手机版网址
变量值:http://m.123.com
所属组:站点设置

变量名称:cfg_rewritem
变量类型:布尔(Y/N)
参数说明:手机版伪静态
变量值:Y
所属组:站点设置

3.移动版当前位置 {dede:field.position/} 标签动态改成伪静态

打开 /include/typelink.class.php 找到

$indexpage = "<a href='index.php'>".$this->indexName."</a>";

改成

if($GLOBALS['cfg_rewritem'] == 'Y')
{$indexpage = "<a href='".$GLOBALS['cfg_mobile']."'>".$this->indexName."</a>";
}
else
{$indexpage = "<a href='index.php'>".$this->indexName."</a>";
}

继续找到

return 'list.php?tid='.$typeinfos['id'];

改成

if($GLOBALS['cfg_rewritem'] == 'Y')
{return GetTypeUrl($typeinfos['id'],MfTypedir($typeinfos['typedir']),$typeinfos['isdefault'],$typeinfos['defaultname'],$typeinfos['ispart'],$typeinfos['namerule2'],$typeinfos['moresite'],$typeinfos['siteurl'],$typeinfos['sitepath']);
}
else
{return 'list.php?tid='.$typeinfos['id'];
}

4.设置手机站首页不生成index.html,即永远是动态

打开 /m/index.php 找到

$row['showmod'] == 1

改成

$row['showmod'] == 10

如果m文件夹里有index.html,记得删除一下

5.手机站伪静态规则文件打包下载

链接: https://pan.baidu.com/s/1sVpMusrJ1Zg8quZ5xq3UpQ 密码: 5t29

包括iis6、iis7、8、apache、nginx,下载后选择对应的伪静态规则文件

6.手机版m文件夹下添加 search.php 和 tags.php

用于手机版的搜索页和标签页,也别忘记他们的模板哦 search_m.htm tag_m.htm taglist_m.htm

链接: https://pan.baidu.com/s/1-adTGXzVWGH4x3LX8VdL5w 密码: w2z6

7.把所有手机版模板文件_m.htm 结尾的,把模板里面的代码都改成电脑版

还有几个特别的,请认真对比下面

css、js、images 改成绝对路径,例如 assets/css/ 改成 /assets/css/

index.php 改成 {dede:global.cfg_mobile/}

list.php?tid=[field:id/] 改成 [field:typelink/]

list.php?tid=~id~ 改成 ~typelink~

list.php?tid={dede:field name='id'/} 改成 {dede:field.typeurl/}

view.php?aid=[field:id/] 改成 [field:arcurl/]

[field:litpic/] 改成 [field:global.cfg_basehost/][field:litpic/]

[field:image/] 改成 <img src="[field:global.cfg_basehost/][field:litpic/]">

上一页标签 {dede:prenext get='pre'/}

改成

{dede:prenext get=pre runphp=yes}
$preurl = @me;
preg_match('/aid=(\d*)/',$preurl,$match);
$result = GetOneArchive($match[1]);
@me = !empty($result) ? "上一篇:<a href=\"{$result['arcurl']}\">{$result['title']}</a>" : "上一篇:没有了";
{/dede:prenext}

下一页标签 {dede:prenext get='next'/}

改成

{dede:prenext get=next runphp=yes}
$preurl = @me;
preg_match('/aid=(\d*)/',$preurl,$match);
$result = GetOneArchive($match[1]);
@me = !empty($result) ? "下一篇:<a href=\"{$result['arcurl']}\">{$result['title']}</a>" : "下一篇:没有了";
{/dede:prenext}

文章内容 {dede:field.body/}

{dede:field.body runphp=yes}
global $cfg_basehost;
$str = @me;
$search = '/(<img.*?)width=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$search2 = '#(<img.*?style=".*?)width:\d+px;([^"]*?.*?>)#i';
$search3 = '#(<img.*?style=".*?)height:\d+px;([^"]*?.*?>)#i';
$content = preg_replace($search,'$1$3',$str);
$content = preg_replace($search1,'$1$3',$content);
$content = preg_replace($search2,'$1$2',$content);
$content = preg_replace($search3,'$1$2',$content);
@me = $content;
@me = str_replace('https://www.dedehtml.com/uploads/allimg/', $cfg_basehost.'https://www.dedehtml.com/uploads/allimg/', $content);
{/dede:field.body}

栏目内容 {dede:field.content/}

改成

{dede:field.content runphp=yes}
global $cfg_basehost;
$str = @me;
$search = '/(<img.*?)width=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$search2 = '#(<img.*?style=".*?)width:\d+px;([^"]*?.*?>)#i';
$search3 = '#(<img.*?style=".*?)height:\d+px;([^"]*?.*?>)#i';
$content = preg_replace($search,'$1$3',$str);
$content = preg_replace($search1,'$1$3',$content);
$content = preg_replace($search2,'$1$2',$content);
$content = preg_replace($search3,'$1$2',$content);
@me = $content;
@me = str_replace('https://www.dedehtml.com/uploads/allimg/', $cfg_basehost.'https://www.dedehtml.com/uploads/allimg/', $content);
{/dede:field.content}

搜索框代码改成静态的js提交搜索,参考下面代码,注意标红的地方

<script type="text/javascript">
function search()
{
    var q = document.getElementById("q").value;
    window.location.href = "http://m.dedediy.com/search/"+q+".html";
}
function enterIn(obj,evt)
{
    var evt = evt ? evt : (window.event ? window.event : null);
    if (evt.keyCode == 13)
    {
        var q = obj.value;
        window.location.href = "http://m.dedediy.com/search/"+q+".html";
    }
}
</script>
<form action="" method="post" οnsubmit="return false">
    <div class="form">
        <h4>搜索</h4>
        <input name="q" id="q" οnkeydοwn="enterIn(this,event);" type="text" />
        <button type="submit" class="search-submit" οnclick="search()">搜索</button>
    </div>
</form>

电脑版跳转到移动版代码

1)首页

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobile/}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobile/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

2)列表

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobile/}{dede:type}[field:typeurl/]{/dede:type}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobile/}{dede:type}[field:typeurl/]{/dede:type}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

3)内容

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobile/}{dede:field.id runphp=yes}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobile/}{dede:field.id runphp=yes}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

转载于:https://www.cnblogs.com/dedehtml/p/9913853.html

织梦电脑站手机站伪静态+全套伪静态规则-固定目录版相关推荐

  1. 织梦电脑手机站伪静态-自由目录版

    织梦电脑手机站伪静态-自由目录版 环境:阿里云linux虚拟主机,Apache+Mysql 登陆网站后台-系统-系统基本参数-核心设置-是否使用伪静态-是 系统-系统基本参数-核心设置-是否使用绝对网 ...

  2. php伪静态后面带拼音的,织梦电脑站手机站TAG标签伪静态-单链接拼音版

    无论你网站全站是静态或者动态还是伪静态,此教程都可以设置TAG标签页为伪静态,并且是单链接拼音的形式,另外两种形式参考<织梦电脑站手机站TAG标签伪静态-单链接名称版>和<织梦电脑站 ...

  3. 【带移动搜索功能】织梦dedecms手机WAP插件专业版 织梦自动建手机WAP站 PC+WAP数据同步更新 访问自动跳转

    安装步数: ( 插件及高清视频教程:QQ  86862635 或www.wlyx158.com 搜索 织梦自动建手机WAP站 PC+WAP数据同步更新) 1. 检查数据表的前缀是不是dede_   ( ...

  4. 织梦黑色互联网建站设计模板

    介绍: 名称:织梦黑色互联网建站设计模板 本套织梦模板采用织梦内核开发的模板,这款模板使用范围广,不仅仅局限于一类型的企业,网站建设.建站公司设计类的网站都可以用该模板. 你只需要把图片和文章内容换成 ...

  5. 绿色版电脑站手机站仿站小工具

    绿色版电脑站手机站仿站小工具,仿站小工具是通过网址下载静态网页的工具.从输入的网址下载html代码,提取出JS.Css.Image.Picture.Flash等静态文件网址,再从下载完好的Css代码中 ...

  6. mysql 5.5织梦_织梦5.5下载站源代码带真实下载数据链接地址

    此下载站源码为最新的织梦5.5架构经个小小的修改而成,以站长建造下载站的快速工具其中所有程序的下载链接均是真实有效的,只是没有把下载软件件放在这个程序包里,但通过调用外部链接下载者还是可以下载到资源的 ...

  7. 织梦列表页生成的html在哪里,织梦系统给手机版生成静态页HTML的方法

    原标题:织梦系统给手机版生成静态页HTML的方法 织梦dedecms默认的手机端不能生成静态,对于使用静态的网站来说多少有些不方便,其实dedecms可以通过一种另类的方法来给手机端生成静态页面的. ...

  8. 小白如何在阿里云快速建站(pc站+手机站+公众号+小程序)

    在当今互联网大发展的时代,互联网已经成为和吃饭睡觉一样平常的事物.不论个人还是公司.不论是打工的还是老板.不论是农村的还是城市的,不知道互联网的人大概只剩下那些年龄过高的部分老年人了吧. 个人.组织. ...

  9. 仿58上市公司(PC站+手机站)网站源码

    该源码是仿58上市公司(PC站+手机站)网站源码,2014最新仿58同城上市公司源http://码 多城市分类信息源码带wap,安装文件:.访问 /install.php进行安装,出现数据库连接失败的 ...

最新文章

  1. C#如何根据DataTable生成泛型List或者动态类型list
  2. H3C S5560交换机风扇反转告警
  3. hashmap remove 没释放内存_面试题:来,问你几个关于HashMap的问题?
  4. 弹出键盘windowsoftinputmode属性设置值
  5. 搜索推荐系统根据用户搜索频率(热搜)排序
  6. 今日恐慌与贪婪指数为66 贪婪程度有所缓解
  7. led透明屏生产厂家_LED透明屏厂家哪家好?2020年中国深圳LED透明屏品牌排行榜...
  8. 技术新星决战巅峰,全国大学生操作系统设计赛圆满结束!
  9. UVA - 11029
  10. Atitit 面向对象弊端与问题 坏处 缺点
  11. zipArchive not found
  12. 美智库:马赛克战是人工智能与自主系统支撑的决策中心战
  13. oracle错误1327,问题简述:在oracle linux下安装oracle10g,多个文件报“Permission denied”错误...
  14. r语言中的或怎么表示什么不同_R语言学习笔记(一)
  15. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
  16. 安装memcached.exe时, msvcr71.dll丢失怎么解决
  17. Non-Negative Matrix Factorization 非负矩阵分解(NMF)
  18. foxmail如何导出邮件
  19. 用友如何控制打印次数
  20. BPMN基础元素及任务类型

热门文章

  1. 每天一道LeetCode-----以单词为单位逆序字符串,每个单词之间以一个空格分隔(原字符串中可能有多个空格)
  2. Mysql(6)——数据库中表相关操作(2)
  3. Emscripten-mac安装与升级
  4. 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start问题解决
  5. andriod开发环境配置
  6. Win7环境下IPython Notebook的安装
  7. 报错:“-bash: git: 未找到命令”
  8. having and group by
  9. Socket UDP无连接通信
  10. struts2 datetimepicker标签的使用