乖兔博客

乖兔 > CMS系统 > 织梦dedecms手机和pc站全站伪静态带规则可自定义url样式

织梦dedecms手机和pc站全站伪静态带规则可自定义url样式

乖兔 更新于: 2020-12-09 分类:CMS系统 评论 ( 0 )

织梦cms开启全站伪静态规则

织梦cms全站伪静态的好处:

  • 无需生成html,减少服务器空间占用、省去生成html的耗时。

  • 伪静态其实就是动态页面,可以实现各种动态互动效果。

  • 配合不同的模板输出,可以实现手机站与pc站同一url不同显示内容和样式。

  • 更多动态可实现的可能。。。

dedecms开启全站伪静态的环境需求:

  • 请确保你网站所在的主机或者服务器支持伪静态并且已经开启了伪静态功能

  • 本教程只适合给那些需要电脑版和手机版都想要伪静态的小伙伴使用!

  • 开启成功后,登录后台时,必须在地址栏补加上index.php

如果你不想不加index.php,则需要添加下面伪静态规则来取消对应目录的伪静态。

apache添加

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

nginx添加

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

iis7和iis8添加

<rule name="织梦iis排除目录" stopProcessing="true">
<match ignoreCase="false" url="^(dede|m|admin)($|/)$"/>
<action type="Rewrite" url="/{R:1}/index.php"/></rule>

添加位置如下图所示

伪静态目录排除.png

这样之后dede|m|admin这三个目录将会排除伪静态规则。

设置为静态后的网站url样式如下(pc站和手机站url相同,仅域名不同,手机域名加前缀如m):

  • 产品列表页  http://www.nideyuming.com/product/

  • 产品列表分页 http://www.nideyuming.com/product/list_2_2.html

  • 新闻列表页  http://www.nideyuming.com/news/

  • 新闻列表分页 http://www.nideyuming.com/news/list_3_2.html

  • 内容页    http://www.nideyuming.com/news/92.html

  • 内容页分页  http://www.nideyuming.com/news/92_2.html

  • TAG标签页  http://www.nideyuming.com/tags/织梦/

  • TAG标签分页 http://www.nideyuming.com/tags/织梦/2/

  • 搜索页    http://www.nideyuming.com/search/织梦.html

  • 搜索页分页  http://www.nideyuming.com/search/织梦-2.html

基础设置修改:

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

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

  3. 使用织梦全站动态静态一键切换插件设置全站为动态;

织梦系统文件修改:

列表页修改:

打开 /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 arcrank>-1 and 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' && $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;

内容分页修改:

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

tag标签伪静态修改:

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

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

下面插入

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

搜索页面伪静态修改:

打开 /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.dedehtml.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.dedehtml.com/search/"+q+".html";
    }
}
</script>
<form action="" method="post" onsubmit="return false">
    <div class="form">
        <h4>搜索</h4>
        <input name="q" id="q" onkeydown="enterIn(this,event);" type="text" />
        <button type="submit" class="search-submit" onclick="search()">搜索</button>
    </div>
</form>

电脑版伪静态规则文件下载:

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

https://pan.baidu.com/s/1QsGj5gF_KXpuFBGElcDhLA

提取码:g6uu 

手机版伪静态教程开始:

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'];
}

手机站m文件夹目录里添加了[搜索文件search.php]和[标签文件tags.php],还修改了以下3个文件

index.php list.php view.php

我已经修改好并打包,如果你有改过,请备份你的再覆盖我的,下载地址:

https://pan.baidu.com/s/1skov3zgTASvG4Jj2B0Wo8A 提取码:8kji

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

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

https://pan.baidu.com/s/1QsGj5gF_KXpuFBGElcDhLA

提取码:g6uu 

6.把所有手机版模板文件(_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/]">

上下篇记得先修正官方程序的这个BUG,已经修正过的跳过

织梦手机站上下片错乱并报错的修正方法

上一篇标签 {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('/uploads/', $cfg_basehost.'/uploads/', $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('/uploads/', $cfg_basehost.'/uploads/', $content);
{/dede:field.content}

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

<script type="text/javascript">
function search()
{
    var q = document.getElementById("q").value;
    window.location.href = "http://m.dedehtml.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.dedehtml.com/search/"+q+".html";
    }
}
</script>
<form action="" method="post" onsubmit="return false">
    <div class="form">
        <h4>搜索</h4>
        <input name="q" id="q" onkeydown="enterIn(this,event);" type="text" />
        <button type="submit" class="search-submit" onclick="search()">搜索</button>
    </div>
</form>

电脑站跳转到手机站代码:

首页

<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>

列表页

<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>

内容页

<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>


打赏

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

    奇书铺小说:www.qishupu.com

    短信平台:www.xinnuohang.com

    短信公司:www.duanxin99.com

    福中教育网:www.jxfuzhong.cn

    汽车网:www.miaomudu.com

    短信网:www.xinnuohang.com

    好学教育:www.haoxue360.com

    啊啊啊:www.fwceo.com.cn

    彪彪:老版迅雷可用,就是比较慢。

    士大夫:第一个可以用!

    士大夫:谢谢大佬

    嘿嘿:劲儿劲儿

    人来人往:出现这一错误,安装这个方法解决了,感谢!

    HTML:权限修改对了吗

    织梦:权限修改为777了,没能解决

    后悔:安装这个方法修改了权限,还是不行呢

    44:是呀,旧版的解析不了迅雷链接

    1:第三个没啥用

    逐风戏雨:赞一个,迅雷5.8好用,感谢分享!

    一朵:感谢,我的是ftp软件里面怎么看都是644权限,但是到织梦后台就提示修改。按照这个方法修改后不再提示了。

    ada:好耶,可以用

    ada:用管理员身份绿了半天希望能成

    大在在:有病毒。。。

    K9999:第三个方法好用,第一个不能用(只尝试了一次),第二个现在很多都没有口令

    自学成才:你好 请问有最新版本的教程吗

    A:啊不对 是我下错了文件 画质还是一样的 但是方法一还行下载不了一些版权原因的

    A:方法一真的可以!!谢谢楼主 就是本来1080的会变成普通画质

    大白兔奶糖:这种的估计是种子没有资源

    大白兔奶糖:不过现在又装回来了,感觉只要种子有资源的5.8迅雷就能下载,没资源的换啥版本都不能下载!

    大白兔奶糖:我和你一样,后来发现是没退出迅雷直接卸载导致的,打开迅雷把下载任务删除只有又卸载就删掉了。

    初:楼主,为什么迅雷5.8打开那个卸载后,这个文件夹一直删除不了呀?它下载不了东西而且还和最新的迅雷下载冲突, 最新的也下载不了。。。

    大兵:下载了迅雷5.8但是 nbsp; 也显示正在下载 nbsp; 但是不下载内容

    聆听你的声音:为了破解版权限制,最终还是用上了旧版迅雷,确实管用!界面好复古的样子。不过很简洁,也没广告。另外旧版的迅雷5.8没法登录账号,有点小可惜。

    爽:官方离线安装版本,安全放心!主要是使用官方的安装装工具下载安装实在是太慢了,还是这个理线安装包比较爽!

    mising:很方便,自动插入基本的html框架代码,省去很多重复机械的工作

    请教:请教一下,win7修改了好像还是不能用,有没有具体教程

    米linna:同楼上,我一般都会禁用织梦的模板缓存功能。但是/data/tplcache/目录下面依旧会不断的新增文件,体积都不大,但是文件数量却很多!感谢楼主分享删除方法!

    彩虹泡泡糖:mac可以用迅雷口令解决

    谢谢:mac呢?????

    anon:修改hosts没有用

    puma:试了一下还是不行

    笑笑:host方法有用,现在可以下载了,感谢分享!

    微亚是只猫:win10修改这个文件需要管理员权限的,就是以管理员方式打开,不然修改不成功。另外这个方法解决版权方要求的问题修改后应该是要重启迅雷重新添加下载任务。

    戴老板:我试了第一个方法不行

    小便当:一直在找这款外星人主题,感谢楼主分享!

    大写的C:一直用这个外星人主题,整个色调都很是喜欢~~

    酱紫:很不错,学习了。

    花瓜:不建议去掉织梦后台的验证码,毕竟很多时候设置的密码都不是很复杂,被暴力破解的话就不好了。

    瓜子:一楼说的不错,现在很多的老牌cms都不怎么更新了,这个开源模式的路是不是快走到头了?

    利强:怎么说呢,织梦出的这个问答模块以前还算是很实用的,现在已经感觉很鸡肋了。作为一个插件不如作为一个系统模型卡发出来更加强大。但是现在dedecms官网不光问答模块,就连主程序也已经不怎么更新了。可能是做出这么好的cms程序,又没多少人付费,没有好的变现模式,心凉了吧。毕竟企业都是要生存的。

    木须肉:感谢楼主分享教程,已经用上了,很不错,实现备份了数据库,不过并没有出现什么错误!

    胡乐乐:这个方法很不错,节省了大量的时间,瞬间感觉自己成了技术牛人,有一种人生开挂的感觉,哈哈。

    鹿爷:确实很不错,对我等刚刚接触ftp软件操作的的小菜鸟,非常实用!

    叶新楼:很不错的教程,简单明了,很多人推荐一些别的ftp软件,比如说FileZilla之类的,尝试了虽然他们都很强大,但是我还是觉得flashfxp最好用,可能是每个人的习惯不一样吧。

    你这个瓜娃子:这恐怕是我见过的最简单给力的flashfxp教程了,哈哈,按照这个一步步操作,把我家小盆友不费吹灰之力的轻松教会了!

    米:感谢楼主分享,非常实用

    Linda:很漂亮的css表格样式,感谢楼主分享。希望看到更多精美的css样式分享出来!

    取个什么名字呢?:原来还可以从指定位置来截取指定长度字符串的,受教了。

    取个什么名字呢?:感谢博主的分享,对于小白来说都是一些拿来就可以上手使用的教程。

    取个什么名字呢?:都很实用,介绍简洁明了,代码整理的也很规范,一看就懂。赞赞赞

    取个什么名字?:太全了,收藏保存一下,以备不时之需!

    米启玲:php的这个随机方式挺经典的,可以应用到很多随机抽奖类的小程序中。

    米勒:随机数真的很有用处,可以实现各种各样有意思的小功能,绝对是用php开发各种小工具必备技能...

    猕猴不是桃:第一次使用mt_rand功能,非常方便,以前都是自己写一堆逻辑来实现的,不知道这个mt_rand能不够实现真正意义上的随机数,可以的话以后php从数组中随机取值和php控制随机数的概率的工作做起来就更简单了。

    卡布斯基:正好需要用的php输出随机数的功能就在这里看到了,make一下!

    叙叙还是个孩子:第一个方法很管用,自从修改了host文件之后,这个讨厌的提示就在也没出现过了。整个心情都舒畅了呢!

    小蛮腰:没错,我这边也这样。感觉是网络运营商的问题吧?

    李彤:现在dns污染太厉害了,不知道是大家都有这个问题还是只哟我们这边是这样。还经常莫名其妙的弹各种广告。

    小蛮腰:我的就经常遇到这个DNS_PROBE_FINISHED_NXDOMAIN,真怀疑是网络运营商网络质量不好。

    乐奇小宝贝:感谢,正好需要这个,成功调换,节省了不少时间。

    林溪:一直在用这个功能,notepad++的这个自动插入html模板的功能真的是非常的实用,用了它,整个人都变懒了,哈哈!

    博主牛逼:博主牛逼啊,这个困扰了我几天的问题终于解决了。找了好久都没找到原因,居然最终是因为用户组问题。

    李小妹:感谢分享,我一直很纳闷,我从开始就禁用了dedecms的模板缓存功能,不知道为什么这个目录下还是会不断产生新文件。百思不得姐!

    匿名网友:我就曾经中过好几次木马,全都是被放在了/data/tplcache/这个目录下,真的很就有迷惑性,好几茬扫描后台病毒扫描出来了我都没注意它,知道有一次无聊打开文件的代码看了一下,才发现是个后门程序。隐藏的太好了,很难发现。

    最爱水煮鱼:新技能get,自从有了chrome浏览器,感觉各种小技能不断get,虽然有些小插件会拖慢浏览器的速度,但是真的是非常的方便!

    林溪:很棒的功能,从来都不知道浏览器浏览网页还能知道网页文件的更新时间的。一直都以为什么时候打开这个页面,文件的时间就会更新一次呢!

    华子:正好有个项目经常需要查询每个网页的产生时间,感谢分享!非常实用的浏览器小技能。

    木头:厉害啊,这么快就做到隔天快照了。我的网站都一年了快照还做不到天天更新。羡慕你啊!

    林西:很正常啊,其实我也会经常盼着百度秒收,哈哈,不过相信这一天很快就来了!好好做好内容好好做好基本的SEO就好了!

    乖兔:嗯呢,有时候我也这么觉得,不过还是总在心里希望百度早早收录,可能是有点急功近利了。

    林西:恭喜,我的网站跟你的差不多,也是天天都更新快照,但是收录很少而且收录的很慢,不过断后路了的排名都很不错这点还是很不错的。这说明首页快照隔天更新应该是一个很不错的表现。所以有时候也不太在意收录数量和收录速度,权重和排名才是更重要的。