用DEDE做外语网站,想用文章标题做URL命名规则 150

出现如下问题:这个是文章标题这个是文章URL出现的问题。我采用的是{typedir}/{pinyin}.html规则遇到像这类有带音标的字母时,URL提取的是乱码怎么办/... 出现如下问题:
这个是文章标题

这个是文章URL出现的问题。

我采用的是{typedir}/{pinyin}.html 规则

遇到像这类有带音标的字母时,URL 提取的是乱码怎么办
/Thc-phm-cho-bnh-nhn-vi-m-mi-d-ng_1538.html

是不是 DEDE include/inc/inc_fun_funAdmin.php 这个文件正则式 问题
因为我看 竞争对手都能够 正常提取 标题,而且是不带音标的
for($i=0;$i<$slen;$i++){ if(ord($str[$i])>0x80) { $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 .= "-"; }
展开
 我来答
匿名用户
2015-12-17
展开全部
织梦默认生成的文章命名规则是 {typedir}/{Y}/{M}{D}/{aid}.html ,对于做英文站来说,不利于SEO优化,尤其对于GOOGLE,更不利于优化。(http://houdunwang.com/lesson.html
将文章命名规则改为 {typedir}/{pinyin}.html 按拼音命名来设置文章标题。
以上设置完后,文章命名规则中: {pinyin} = 拼音+文章ID ,多了个文章ID出来,去掉后面的ID方法如下:
修改include/helpers/channelunit.helper.php中的:
$articleRule = str_replace('{pinyin}',GetPinyin($title).'_'.$aid,$articleRule);
$articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule);
两行为:
$articleRule = str_replace('{pinyin}',GetPinyin($title),$articleRule);
$articleRule = str_replace('{py}',GetPinyin($title,1),$articleRule);
以上改完后,后面的ID号去掉了,但还要将_改成 - 这样才利于谷歌收录。
打开 include/inc/inc_fun_funAdmin.php
找到
for($i=0; $i<$slen; $i++)
{
if(ord($str[$i])>0x80)
{
$c = $str[$i].$str[$i+1];
$i++;
if(isset($pinyins[$c]))
{
if($ishead==0)
{
$restr .= $pinyins[$c];
}
else
{
$restr .= $pinyins[$c][0];
}
}else
{
$restr .= "_";
}
}

修改
$restr .= "_"; 为$restr .= "-"; 即可。
栏目名称也不要出现空格,一般用-线代替。
更多问题到问题求助专区(http://bbs.houdunwang.com/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式