用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 .= "-"; } 展开
这个是文章标题
这个是文章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/)
将文章命名规则改为 {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/)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询