dede全站做移动跳转+适配,精通dede和PHP的来!
1、首先登录织梦后台,从左侧菜单找到系统-数据库备份/还原选项。
2、点击右上角的数据还原按钮,此时就可以看到备份好的数据库列表。
3、点击全选数据,然后点击开始还原数据,此时不要退出,等待还原完成。
4、还原完成后,还需要对网站进行重新生成页面,点击生成-一键更新网站-更新所有,开始更新即可。
5、如果需要对网站数据库进行备份,只需要到数据库备份/还原页面,全选数据,提交备份就可以了。
做过网站的人都遇到过这样的情况,自家网站一开始排名不错,过了一段时间之后发现,怎么跳转到了别人家的网站,尤其是跳转多的是**、赌博类的,这让很多站长非常恼火。那么,这究竟是怎么回事呢?该如何解决呢?
网站跳转别的页面是怎么回事
事实上,网站跳转到别人网站,简单的原因就是被挂码或者是中病毒了。这种情况往往是一些排名比较不错的网站被选中,而这些网站都有一个共同点就是存在网站木马后门,包括PHP脚本、ASP脚本以及JSP脚本,这些都是木马的重点,可以对别人的网站进行恶意篡改、改名、上传、下载甚至是管理员才有的权限操作。
出现网站挑战的客户,其网站结构往往是PHP+MySQL,或者是JSP+MySQL结构,程序多是开源的,比如dedecms、phpcms系统、discuz系统等。
之前也有客户,看到自己的网站被挂码之后,知道是怎么回事,然后自己找到代码删掉了。网站恢复了,但是没过几天又出现了这种情况,这主要是因为他没有彻底解决问题,也就是我们常说的治标不治本。其根本原因还是网站漏洞以及服务器没有做好安全保护,才会留下漏洞,让别人攻击挂马。
如何避免网站被挂马
1、要做好服务器的安保问题
如今,很多公司已经意识到服务器安全的重要性,在购买服务器的时候都会多花钱买一个独立的服务器,一来可以让网站打开速度更快,提高用户体验,提升优化排名,另一方面,独立服务器不会出现其他的网站,不会出现被牵连的情况,对自家网站优化也是有好处。做好服务器安保问题,首先要注意对管理员账户密码的保护,密码尽量设置的复杂一点,数字加字母加大小写家特殊符号,总之怎么复杂怎么来,虽然不能百分百避免,但是却能增加难度,降低被挂码的几率。
2、数据库的端口问题
良好将其改为61116,并加入端口安全策略,不对外开发,这样只有本地127001才能连接到数据库,避免恶意攻击。
3、做好网站代码的安全检测
站长良好每天都看一遍,是否有恶意代码,是否有不正常的地方,如果发现有不对的地方,及时改正,并加固。
4、员工离职及时修改密码
另外,有员工离职的时候,第一时间就要将员工手中的账号密码修改一下,避免一些员工利用手中的账户密码做对公司不利的事情。
总的来说,要想保证网站安全,做好预防要比石猴解决更好。网站被挂码之后,失去的不仅仅是权重、排名,更有用户对企业的信任,所以一定要慎重。
网站安全网站跳转考虑到中小型网站中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对应关系示例:
打开plus/diyphp,里面有这样一段代码:
if($dsql->executenonequery($query))
{
$id
= $dsql->GetLastID();
if($diy->public
== 2)
{
//diyphpaction=view&diyid={$diy->diyid}&id=$id
$goto
=
"diyphpaction=list&diyid={$diy->diyid}";
$bkmsg
= '发布成功,现在转向表单列表页';
}
else
{
$goto
= !empty($cfg_cmspath) $cfg_cmspath : '/';
$bkmsg
= '发布成功,请等待管理员处理';
}
showmsg($bkmsg,
$goto);
}
修改这里面的网址就OK了,当然如果要跳转到前一页面,除了需要将$goto后面的值进行修改,还有个文件需要修改下,具体操作是:
1、修改上面提法的:
$goto ='javascript:void(null)"';
2、打开include下commonfuncphp文件,找到
<a
href='http://wwwdedecmsmubancom/{$gourl}'>如果你的浏览器没反应,请点击这里</a>
,将这个修改为:
a href='http://wwwdedecmsmubancom/{$gourl}'
onclick='historygo(-1)'>如果你的浏览器没反应,请点击这里
OK了,以上就是修改织梦DEDECMS自定义表单跳转页面链接的方法。
0条评论