DEDE文章内容页实现URL全拼形式
DEDECMS是目前最流行的网站程序之一,其用户少说也有几十万吧,而且本身SEO也不错,但是也有一个缺点,比如我们用DEDE建英文站或企业站,英文站的URL从SEO的角度来说我们都希望是全拼形式,比如http://www.domain.com/this-is-a-new.html ,或者中文企业站中的产品页面也希望是这种形式,如中文产品站时希望是http://www.xxx.com/products/fuzhuang.html ,而目前DEDE最多能实现的就是“/拼音_id.html”这种形式URL,这里萧涵跟大家分享一下如何实现这种功能。
虽然本博客是为参加博百优而建的SEO博客,可能会有朋友说我弄得太杂了,一会写SEO,一会又写CMS使用技巧,其实萧涵认为,这些都是包括在SEO之内的,SEO应该是从策划分析到程序选择再到网站设计,然后进行站内站外的优化的一整套过程。而且也有朋友经常在咨询一些关于建站方面的东西,所以萧涵的博客不管是现在还是博百优比赛结束后,将会一直给大家分享SEO、网站设计及建站经验方面的内容。有点跑题了,继续回到正题。
一般我们是打开网站栏目管理,在分类上点更改-高级选项里修改文章命名规则为“{typedir}/{pinyin}.html”,这个生成的就是我上面说到的“/拼音_id.html”的形式了,我们现在就要去掉这个“_id”,打开include/channelunit.func.php文件,找到如下代码:
$articleRule = str_replace(‘{py}’,GetPinyin($title,1).’_’.$aid,$articleRule);
改成:$articleRule = str_replace(‘{py}’,GetPinyin($title,1),$articleRule); ,也就是去掉了“.”_”.$aid” ,再生成下看看效果。
嗯,这个效果达到了,但如果我们做的是英文站,那生成的URL就会在单词间增加“_”这个下划线,对URL来说我们一般不喜欢这种,而是要“-”中划线,那么就要打开include/inc/inc_fun_funAdmin.php文件,找到如下代码:
for($i=0;$i<$slen;$i++)
?{
??if(ord($str[$i])>0×80)
??{
???$c = $str[$i].$str[$i+1];
???$i++;
???if(isset($pinyins[$c]))
???{
????if($ishead==0)
????{
?????$restr .= $pinyins[$c];
????}
????else
????{
?????$restr .= $pinyins[$c][0];
????}
???}else
???{
????$restr .= “_”;
???}
??}else if( eregi(“[a-z0-9]“,$str[$i]) )
??{
???$restr .= $str[$i];
??}
??else
??{
???$restr .= “_”;
??}
?}
其中加红的地方就是我们要修改的,就是把“$restr .= “_”;” 改成 “$restr .= “-”;” ,这样就OK啦,再生成下内容页面,看看效果吧。^_^
觉得不错的帮萧涵顶下哈,以后会有更多的技巧与大家分享。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>