dede文章网址匹配规则 不能包含怎么为多项

dede文章网址匹配规则 不能包含怎么为多项,第1张

  做了这么多年的网站,从不懂到略知一二,对于其中的辛酸也是深有体会,我们做站要本着以最低的成本赢得最大的效益,做站容易运营难的道理相比大家都是有目共睹的,为了让大家不要走太多的弯路,我在这里详细的给大家说明下,一个新站建设中需要注意的一些问题,以便大家能够在建站的过程中得心应手!

  第一:清晰的网站目标定位

  对于网站的目标定位,大家说法不一,但是总体上要让大家有一个明确的做站目标,如果你的目的仅仅是为了炫耀或者娱乐,大可不必搞的那么隆重,相信大家做站的目的某种意义上都是出自创业或者企业建站,在励志学中有这样一句话:行动大于选择,选择大于努力。为何这样说?我们纵观人生,许许多多的人究其一生都是普通人,而还有许许多多有才华的普通人,经过多方面的验证发现这样的结果,源自他们当初的选择,如果当初选择是做贼,那么结果一定不怎么样。从中我们不难发现,不难明白其中的道理,所以只有选择正确了,才会有好的结果。做网站的道理是一样的,我们需要综合各类信息,进行分析总结,找出适合自己的发展方向,预测最终的目标,这里也需要一种画大饼的精神,我们很多站长做站的过程中很偏离发展的发现,本身是做轴承的网站,偏偏要放上MM,姑且不论影响如何,单单就搜索引擎来说,那就是大忌。所以定好了目标就按照这个方向发展下去,不能三天打鱼两天三网。

  第二:注册域名

  我们通过各方面的准备论证,找准了自己做网站的方向,现在需要开始做网站的第二步,注册域名,注册域名需要注意以下几点:

  简单易记忆

  突出网站的类别

  域名类别的选择

  一个好记忆的域名可以让你的用户轻易就记住了你的网站,方便下次再次访问,网站的域名应该尽可能的突出网站的类型是什么,一些大型综合性的网站往往以数字,拼音来做品牌营销,而中小型的网站,则要让用户能够通过域名就判断出网站是做什么的,网站的后缀的选择应该根据自己的行业去选择

  第三:服务器的选择

  服务器关乎以后网站的发展,这点我是亲身体会,好的服务器让你无忧无虑,大可去做网站运营推广,而一个安全等等各方面做的不太好的空间,让你非常郁闷,几度奔溃,想起那些半夜起来要给服务器商打电话而无人应答的时候很是郁闷。所以这里建议大家选择一些有实力的公司,空间相对稳定的idc商,这样你可以省去很多的麻烦!

  第四:网站制作

  网站制作我们需要注意以下几方面:

  源码的选择:现在市面上有非常多的成熟的代码,我们大可不必非要自己组建团队去大张旗鼓的写代码,论坛类:discuz、phpwind、bbsmax等都是不错的论坛程序,而且几乎所有的交互元素都有了,没有的可以利用其中非常方面的插件形式去做拓展。 CMS类:dedecms、帝国等都是经历多年的发展,许多优秀的程序员智慧的结晶。

  网站安装:配置服务器环境,大家可以搜索的学习学习,这里需要注意下,需要对网站的目录权限进行严格的控制,具体的安装过程,可以参照各个源码的说明去进行!

  网站结构的设计:这点比较重要,一个网站做出来,一定要有合理的结构布局,一方面提高用户体验,一方面方便搜索引擎蜘蛛爬行,很多源码虽然在这方面做了很多工作,但是还是要我们自己去重新设计处理,同质化的模板太多,很不利于网站优化,所以不管是导航还是其他什么方向都要重新修改,这点大家可以参考下百度SEO建议,参考修改。这里我们所要追求的就是代码精简代码,提高网页加载速度,尽可能的采用div+css结构,js类尽可能的放到网页底部,关于这类的文章是比较多的,大家可以检索下。

  关键字选择:这个关乎网站以后再能不能准确的展现给用户,能不能再搜搜引擎中取得好的排名,竞争激烈的关键词,会浪费你大量的时间,还不一定有好的成绩,所以这里的选择非常的关键,大家可以看看百度的web20优化建议,以便更好的发展。

  内容的建设:我们从近期百度的几次大的调整可以看出,也从官方的说明看出,提供高质量,尽可能是原创性的文章,不要搞采集和机器生成那类鬼都看不懂的文章,把内容展现给用户,而不是搜索引擎。

  url要标准化:url静态化,动态化的虽然可以抓取,但效果可能没有那么好。

  网站地图制作:网址地图是网站必备的东西,方便用户也方便搜索引擎的蜘蛛抓取

  robotstxt制作:对于那些不需要被抓取的可以用robotstxt文件限制,具体大家可以搜索robotstxt文件的写法。

  404页面的制作:对于已经删除的文章应该返回404状态,并添加404页面反馈给搜索引擎已经删除。还有其他细节方面的大家可以多看看相关的内容。

  第五:网站推广

  万事俱备只欠东风,经过前面的步骤,我们到达了运营推广的步骤,推广方式有很多种,比如论坛推广,QQ推广,百度竞价,B2B推广等等根据自己的情况选择合适的推广渠道。

  第六:坚持下去

  罗马不是一天建成的,网络时代让我们少了几分淡定,多了一些浮躁。多元化的信息充斥着我们的大脑,让我们形成了朝令夕盖改的习惯,今天想做论坛,明天要做SNS,SNS还没有搭建成又想做B2C,这可不行,我们看看现在存在的有成果的网站,都是坚持的结果,如果放弃了,就前功尽弃,所以再下决定的时候就一定要选择好,一旦决定了就不要再改变,相信自己的决定,坚持下去,只要方法正确你就一定能够成功。

考虑到中小型网站中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对应关系示例:

1、织梦CMS文章采集

  新建一个文章采集节点,后台——采集——采集节点管理——增加新节点,选择内容模型为普通文章。

  设置节点基本信息。目标源码同上篇文章所说,通过查看目标网站源代码后设置,区域匹配模式默认字符串,只有在字符串无法确定区域的时候才用正则表达式,不过一般都用不上。最后就是织梦cms采集的特点之一防盗链模式,如果目标网站有防盗链功能则开启次功能可以成功采集,但是会降低采集速度。次测试目标网站没防盗链功能,所以不开启。

  列表网站获取规则。同上篇文章分析,列表网址是有规律的可批量生成。这里要说下dedecms的强大之处,不仅获取列表网址的方式能灵活组合,而且如果目标网站整站使用的都是同一个模板,就可以启用“多栏目通配(#)”功能,通过设置后一个采集规则就可以采集整站并发布不同栏目了,而不需要一个栏目对应一个规则。(此功能小编会另外单独写一篇教程)

  文章网址匹配规则。查看目标列表页源代码,设置要采集文章网址区域的开始和结束的html,接下来又是dedecms特点之一,如果采集网址页面链接有可直接设置采集为缩略图,非常方便。对区域网址进行再次筛选功能也有特色,除支持正则表达式外还声明了“必须包含”和“不能包含”的优先级,本篇体验目标站无干扰网址,所以留空。

  保存并测试,系统会应用前面的设置测试采集网址,完整无误后保存信息并进入下一步内容采集设置。

 网页内容获取规则。系统会默认一个采集url为预览网址,另外内容分页导航所在的区域匹配规则也很灵活,除了和phpcms一样有全“部列出的分页列表模式”、“上下页形式或不完整的分页列表模式”外,还多了一个“分页列表规则”。

  各字段内容采集,dedecms的内容匹配规则和phpcms一样:“起始无重复HTML[内容]结尾无重复HTML”,[内容]即为所采内容。过滤规则是{dede:trim replace=""}规则{/dede:trim},多个规则的话一个一行,如果要替换成指定的值,则只要在replace=""的引号里设置即可。

  其中,内容摘要、关键字、缩略图系统会用正则进行自动匹配,我们只需设置过滤内容即可。其余字段分别设置匹配规则和过滤规则,系统同样自带了几个常用的过滤规则,但是点击“常用规则”后为弹出小窗口模式,稍微有点不方便。针对本测试的标题采集,以下两种方式都是可以的,如图:

  文章作者、文章来源和发布时间字段一样采集,但是此版本dedecms在这几个字段下没有“自定义处理接口”了,如果有的话会稍显灵活,例如设置固定值可直接用“@me="固定值"”实现。现在不能用自定义处理接口设定固定值,也没有字段值设置,只能通过采集网页某一固定值然后用替换。如图:

  dedecms的文章内容采集非常强大,除了匹配规则和过滤规则,还有个“自定义处理接口”。如果你有php基础的话,可以通过此功能对采集结果@me进行各种处理,强大到不行啊。以后小编会专门发一篇此功能的讲解文章。最后,不能直接在采集管理处新增采集字段,只能在对应内容模型管理中增加字段,采集管理会自动增加。如小编在“普通文章”内容模型那增加了一个“chinaz字段”,则采集设置中自动增了一个“chinaz字段”项目。

  保存并测试,查看列表测试信息和网页规则测试,检查是否正确,无误后确定并开始采集。进入采集指定节点设置页面,因为小编之前有测试一遍,所以有60个历史种子网址,即小编之前已经采集了60个网址,另外还有几个选项大家按需求选择。

  点开始采集网页,出现此采集提示信息显示采集进度,不知道是小编人品不好还是dede采集本身缺点,经常会浏览器没反应,采集停止在那,只有手动点击了才会继续。

采集完成后点右上角的“导出数据”,然后选择导出栏目,如果你在前面启用了“多栏目通配(#)”并指定了栏目ID,则要勾选此处的“批量采集选项”,其余选项根据自己需求选择,然后确定。如果勾选了“完成后自动生成导入内容HTML”则会在导入完后自动更新网站,否则就要先手动去生成。

在默认情况下,未审核文档是可以通过动态方式浏览的(/plus/viewphpaid=xxx),而织梦(DedeCMS)系统默认的这种方式,无疑会带来很多的细小问题,比如:

1用户投稿大量的垃圾文档而被收录造成站点权限下降;

2给站长/管理员的日常管理维护带有极大不便;

3给前台用户带来不好的访问体验;

4其它一些想象不到的情况;

既然官方留下了这些Bug,那么我们就要想办法来进行修复,而修复这个小问题的方法很简单:

1)修改方法

打开/plus/viewphp文件(注:这个文件是文档的动态浏览文件),找到如下代码:

//检查阅读权限

$needMoney = $arc->Fields['money'];

$needRank = $arc->Fields['arcrank'];

在下面一行加入以下代码:

$mid = $arc->Fields['mid'];

if(($cfg_ml->M_Rank < 1 || $mid <> $cfg_ml->M_ID) && $needRank == -1)

{

showMsg("你无查看权限",-1);

exit();

}

参考地址:http://wwwvvschoolcn/html/web/cms/2010/1102/4596html

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dede文章网址匹配规则 不能包含怎么为多项

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情