dede全站做移动跳转+适配,精通dede和PHP的来!
其实网站形态分两种,静态和动态,伪静态并不是真正的静态,实质上也是动态页面。
静态页面,除了我们常见的htm和 html以后,asp php jsp也可以是静态的,关键是看asp php jsp这些页面是否调用了数据库里的东西,如果没有调用,它就是静态页面,调用了,就是动态页面。
动态页面的含意就是,网页会根据访问者的请求,从服务器数据库里筛选访问者想要的内容显示到访问者的浏览器上,不同的人访问同一页面,会看到不同的内容,这个网页本身里并没有数据,只有一些代码,访问者看到的,都是服务器里调出来的。
而静态页面,是事先把文字都放到页面里了,不需要从数据库里调,访问者访问一个页面,会直接从服务器把这个页面读出来显示到访问者的浏览器里,不需要数据库的支持。
伪静态页面,其目的是为了更好的被搜索引擎收录而通过一定的规则,把动态页面的地址转换成以htm或html结尾的地址,看起来是静态的,实际是依然是动态页面。
现在很多CMS网站程序,都可以把动态页面直接生成真静态的,就是所访问的页面是真真实实存的,根静态页面一样。这样的好处是访问速度快,不需要频繁去读取筛选服务器里的数据,减轻了服务器的压力,同时也能更好地被搜索引擎收录。
ismake是dede_archives表中的字段。ismake='1' 是在开放状态下生成html 如果文章需要审核那么ismake='0' 。看看你的栏目是不是审核的,对应的修改栏目是否需要审核,或者在数据库中ismake的值。
考虑到中小型网站中Dedecms使用概率较高,今天我们特地邀请了百度站长社区版主—洪石陈来为大家做Dedecms移动适配分享。
第一步:安装Dedecms移动站点的两种方式
(1)下载新版本直接安装使用,Dedecms版本:V57SP1正式版(2015-06-18)该版本包含旧版本所没有的移动站点功能。
(2)老版本升级(仅针对增加移动站点功能),下载最新版本(注意网站编码需与原站一致),复制压缩包中以下文件到原站对应目录下:
注意:如果原站有非默认模板,如某栏目模板为/templets/defaultst_default_newshtm,可将/templets/defaultst_default_mhtm复制一份改名为list_default_news_mhtm。
即:pc端网站模板需有对应的移动端网站模板,后者文件名为前者文件名后“_m”。
安装或升级dedecms完成,此时应该就可以进行移动跳转适配了,但,dedecms20150618版本提供的移动站点功能在使用过程中发现一些问题,需要进行修改后才可正常使用,所以有了下面的dedecms修改步骤…
第二步:修改Dedecms
(1)原站如做了将DATA移到根目录外的安全设置,需修改/m/indexphp代码:
if(!file_exists(dirname(__FILE__)'//data/commonincphp'))
{
header('Location:install/indexphp');
exit();
}
将其中//data/commonincphp改为///data/commonincphp,或直接将以上5行代码删除。
(2) 移动站点首页在会第一次访问时自动生成首页静态文件,前提是/m/目录需设置为可写权限,否则将无法正常更新。之后更新首页静态文件需登陆后台手动更新:在“更新主页HTML”中将“选择主页模板”改为“default/index_mhtm”,将“主页位置”改为“/m/indexhtml”,再生成主页静态文件。
注:该版本号称“自动生成HTML版”,但默认移动站模板里却有<ahref="indexphp">的动态首页链接,需替换为<ahref="indexhtml">静态链接形式。
※如觉得使用静态页面麻烦,想将首页设置为动态浏览,可修改/m/indexphp:
$row['showmod']= isset($row['showmod']) $row['showmod'] : 0;
if ($row['showmod'] == 1)
{
$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');
include(dirname(__FILE__)'/indexhtml');
exit();
}
else {
$pv->Display();
exit();
}
以上代码替换为一行:$pv->Display();
第三步:首页“图文资讯”部分的url为pc端链接,修改为移动端链接:
搜索模板/templets/default/index_mhtm中所有<a href="[field:arcurl/]"> ,替换为<ahref="viewphpaid=[field:id/]">
第四步:通用头部含有搜索框,搜索跳转至pc端搜索页面,建议删除:
在/templets/default/header_mhtm中删除以下代码:
<form class="am-topbar-form am-topbar-leftam-form-inline am-topbar-right" role="search"action="{dede:globalcfg_cmsurl/}/plus/searchphp">
<input type="hidden" name="mobile"value="1" />
<input type="hidden" name="kwtype"value="0" />
<div class="am-form-group">
<input name="q" type="text"class="am-form-field am-input-sm" placeholder="输入关键词">
</div>
<button type="submit" class="am-btnam-btn-default am-btn-sm">搜索</button>
</form>
第五步: 移动站点默认使用二级目录,但目前移动适配需要使用二级域名(前段时间是可以使用二级目录的,但目前已调整,不能再提交二级目录),所以我们要设置移动站可通过二级域名访问,解析二级域名至网站所在服务器ip,并在服务器/空间上将二级域名绑定到/m/目录。
成功设置二级域名后,通过二级域名浏览网站会发现均无法显示,原因是路径有误——路径为“/uploads/x/yjpg”
相对根目录路径形式,在pc站页面中显示正常,因为pc站域名下存在该目录,而二级域名绑定的是二级目录,其中并不存在该目录,
所以访问会返回 404错误。对此,有多种解决方案,下面提供两个思路(示例pc站:wwwnt090com;移动站:mnt090com):
(1)URL 重写(推荐)
将对http://mnt090com/uploads/的访问重写 至http://wwwnt090com/uploads/,apache环境下,在/m/目录中的htaccess(如无则需新建)中增加以下代码即可:
RewriteEngine on
RewriteCond %{http_host} ^mnt090com [NC]
RewriteRule ^uploads/()$ http://wwwnt090com/uploads/$1 [L]
iis环境下类似规则。
(2)修改模板路径
在所有移动端模板中的<head></head>中增加:
<base href="http://wwwnt090com" />
再将代码中的
“<a href="listphp”改为完整路径“<a href="http://mnt090com/listphp”
“<a href="viewphp”改为完整路径“<a href="http://mnt090com/viewphp”
另:需将根目录下的/images/defaultpicgif(缩略图默认)复制到/m/目录下,否则列表页中如存在无缩略图的文章,对应缩略图位置会无法正常显示。
其他:
1、如有栏目不想在首页下方列表区域或通用头部显示,可在后台对应的栏目管理/常规选项中设置隐藏。
2、为了更好的实现pc端和移动端匹配效果,可在pc端模板增加类似如下代码:
首页
<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/">
<scripttype="text/javascript">
if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}
</script>
栏目页
<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}">
<scripttype="text/javascript">
if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}
</script>
文章页
<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}">
<script type="text/javascript">
if(windowlocationtoString()indexOf('pref=padindex') !=-1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}
</script>
代码中的{dede:globalcfg_mobileurl/}部分要替换为包含“http://”的二级域名(即:http://mnt090com),如不想修改模板里的相关代码,也可修改/include/commonincphp中的$cfg_mobileurl变量赋值为二级域名。
以上代码为dedecms新版模板所使用,第一行<meta>标签代码为百度发现跳转适配关系的方式(可同时使用)之一——“Meta标记”,下面几行javascript代码的功能是识别是否移动端设备访问,如是则将当前pc端页面自动跳转到匹配的移动端页面。
另外,还可使用<link>标签以便于百度更好地发现PC站和移动站的移动适配关系,在模板的<head></head>标签内加入如下代码:
PC站首页模板:
<link rel="alternate" media="only screen and(max-width: 640px)" href="http://mnt090com" >
PC站栏目页模板:
<link rel="alternate" media="only screen and(max-width: 640px)"href="http://mnt090com/listphptid={dede:fieldid/}" >
PC站文章页模板:
<link rel="alternate" media="only screen and(max-width: 640px)" href=" http://mnt090com/viewphpaid={dede:fieldid/}">
移动站首页模板:
<link rel="canonical"href="http://wwwnt090com/ "/>
栏目页模板:
<link rel="canonical"href="http://wwwnt090com{dede:type typeid='0' row=1}[field:typelink/]{/dede:type}"/>
文章页模板:
<link rel="canonical"href="http://wwwnt090com/{dede:fieldidrunphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:fieldid}"/>
至此,移动站架设基本成型。
提交移动跳转适配
URL对应关系示例:
是静态是设计页做好啦~要套用DEDE的模板吧~
在通用后台的地方插入标签就可以啦~
例如新闻列表:
{dede:arclist typeid='1' row='6'}
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}
吧,我就是搞网页设计的,没有进过任何培训班,今年毕业刚出来。大学学的物理专业,网页设计全是在大学自己自学的。做网站分好几个方向,1是程序员,专门写后台的,2是页面设计,又包括美工人员和排版人员。
一般做个站都是先由策划订出方案,例如要什么样的风格,功能(例如投票,留言等),再由美工画出样板网页(用PS画),修改通过后交给排版人员用friewoks和dreamweaver把切成网页,再由后台编程人员给出接口(例如文章调用,会员登录等),由排版人员将静态页面和后台程序整合。最后测试,没有BUG通过就行了。
当然,上面的流程是我出来工作了才知道的,因为一个人不可能样样精通直接完成一个网站的所有工序,所以分工才那么细化,因为每一步都是专业人员完成的,最后出来的网站才能称得上专业网站。
照上面说,楼主如果想找份网站方面的工作,那么就向上面的3个方向发展,一是程序员,建议学习PHP语言就行了(ASP过时了,JSP不开源),二是设计员(要求有美术功底,非常熟练photoshop,会flash更好),三是排版人员(要求非常熟悉photoshopfwdw等软件,并且要精通DIV+CSS布局,能解决浏览器兼容问题,最好熟悉JAVASCRIPT,注:JAVASCRIPT和java的关系就如同雷锋和雷峰塔的关系一样,完全是两码事)。其中我的工作就是排版员。
按楼主是意思应该是想自己一个人做站,那也容易,我在大学期间就有自己的网站了,因为网上有很多内容管理系统,所以即使不会动态语言也能做成专业的网站,我用的是DEDECMS(PHP织梦内容管理系统),只要会打字就能做自己的站(当然,如果你要想拥有自己的网站风格就得学会div+css排版,自己改页面),内容管理系统还有很多,例如帝国,PHP168等,DEDEcms是最容易上手口碑也非常好的,如果想做论坛可以用论坛系统(包括dz和phpwind,全国的论坛一般都是用这两种论坛系统后台的,看起来不一样仅仅是前台表现不一样而已,核心没有变化),如果想做博客也有博客系统例如wordpress(全球最好的博客系统)等,想在网上开店也有专门的网店系统(例如shopex)。
最重要的是上面的系统都可以免费使用!
楼主要做的仅仅是买个空间域名按照要求把这些后台系统用FTP工具上传安装就行了,买空间也有诀窍,例如万网上面的楼主就不用去,贵死的地方,我自己用的就是92合租的空间,一年180元,带个com的域名也就55元,很稳定也很划算。楼主要是想买空间就先上一些虚拟主机测评网站看看口碑,莫要被骗了(我曾经就被5944个垃圾骗过,三天两头出问题)。千万不用用免费的啊!楼主是要注意的域名必须要备案才能绑带空间上去!备案不要钱,就是花点时间走流程就可以了(一般花5到30天才批下来)
赚钱?网站赚钱一般来自广告,广告可以从阿里妈妈或者百度或者个google代理过来方在自己的网站上,有人点击了广告这些代理商就会按点击次数付你钱,我做过google的广告,点击一次是10美分(就是8毛人民币!),但是如果一个网站没有流量没有人看谁会去点广告呢(广告利盟自己的统计数据是每100IP平均只有1到3个人会点击到广告)?(自己不要点,点多了会被视同作弊而被封掉你申请的广告代理帐号!)所以流量还是最重要的,流量怎么来就是考验你的眼光了,简单说就是要做一个新颖的网站,一个袭人眼球的网站(所以很多人选择做成人站,如果楼主要做这类垃圾站就去买国外空间,国外空间一般都允许放成人类容),内容是流量来源的最终原因,原创肯定是受欢迎的,但是一个人(没有人投资)做原创站很难,试想一个网站那么大,所有内容都原创肯定不可能(即使是163搜狐还不是抄来抄去的?),你也可以抄,嫌一篇一篇复制太慢了也可以用火车头这类采集工具直接复制别人整个站!当然,这个里面也设计到了一门知识叫SEO,搜索引擎优化技术,讲的是怎么提高流量的,深入的我就不多说了。
另外,团IDC网上有许多产品团购,便宜有口碑
0条评论