织梦dede做英文外贸站,页面URL采用标题{pinyin}且用“-”连接单词

老丁

1,后台开启伪静态

    系统基本参数- 核心参数,开启伪静态;
2,内容启用绝对网址改为“否”
3,后台设置栏目文章命名规则为{pinyin},如果很多栏目,可以用sql批量设置所有栏目。
UPDATE `#@__arctype` SET `namerule` = '{typedir}/{pinyin}.html'
4,在数据库文档数据表是加入拼音字段,后台-系统-SQL命令行工具,执行下列代码
ALTER TABLE `#@__archives` ADD `pinyin` VARCHAR( 255 ) NOT NULL DEFAULT ''
5,如果需要把网站上已经上线了内容的url改成拼音,在网站根目录下新建一个1.PHP文件,内容如下:
<?php
require_once (dirname(__FILE__) . "/include/common.inc.php");
$dsql->SetQuery("SELECT id,title FROM `#@__archives`");
$dsql->Execute('c');
while($row = $dsql->GetObject('c'))
{
    $pinyin = GetPinyin($row->title);
    $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET pinyin='{$pinyin}' WHERE id='{$row->id}'");
}
ShowMsg("完成","javascript:;");
exit()
然后在浏览器里面执行这个文件,执行完成后,删除。
如果你的站没内容,全新设置,这一步可以忽略。
6、修改后台文件让以后编辑和添加文档自动生成拼音{pinyin}到拼音字段,打开 /dede/inc/inc_archives_functions.php ,
搜索 global $envs, $typeid;
大约在398行,在它下面加入
global $dsql
搜索 $arc = new Archives($aid);
402行在它下面加入
$pinyin = GetPinyin($arc->Fields['title']);
$dsql->ExecuteNoneQuery("Update `#@__archives` set pinyin='{$pinyin}' where id='{$aid}'")
第二步,电脑版伪静态教程开始,修改程序文件
1、列表页和内容页伪静态链接
打开 /plus/list.php 
搜索
$tid = (isset($tid) && is_numeric($tid) ? $tid : 0)
大约在16行,把它修改为:
if($cfg_rewrite == 'Y')
{
    if(!is_numeric($tid))
    {
        $typedir = parse_url($tid, PHP_URL_PATH);
        $PageNo = stripos(GetCurUrl(), '.html') ? intval(str_replace('.html', '', end(explode("_", GetCurUrl())))) : 1;
        $tinfos = $dsql->GetOne("SELECT * FROM `#@__arctype` WHERE typedir='/$typedir' or typedir='{cmspath}/$typedir'");
        if(is_array($tinfos))
        {
            $tid = $tinfos['id'];
            $typeid = GetSonIds($tid);
            $row = $dsql->GetOne("Select count(id) as total From `#@__archives` where typeid in({$typeid})");
        }
        else
        {
            $tid = 0;
        }
    }
}
else
{
    $tid = (isset($tid) && is_numeric($tid) ? $tid : 0);
打开 /plus/view.php 搜索
$t1 = ExecTime()
大约在19行,在它下面加入
if($cfg_rewrite == 'Y')
{
    $aid = stripos(GetCurUrl(), '.html') ? str_replace('.html', '', end(explode("/", GetCurUrl()))) : 0;
    $row = $dsql->GetOne("SELECT id FROM `#@__archives` WHERE pinyin='$aid'");
    $aid = $row['id'];
}
打开 /include/arc.listview.class.php 搜索
//获得上一页和下一页的链接
大约在1136行,在它上面加入
if($cfg_rewrite == 'Y')
{
    $purl = "";
}
else
{
    $geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
    $purl .= '?'.$geturl;
}
继续搜索
$plist = str_replace('.php?tid=', '-', $plist);
在它上面加入
$tnamerule = $this->GetMakeFileRule($this->Fields['id'],"list",$this->Fields['typedir'],$this->Fields['defaultname'],$this->Fields['namerule2']);
$tnamerule = preg_replace("/^(.*)\//", '', $tnamerule);
$plist = preg_replace("/PageNo=(\d+)/i",str_replace("{page}","\\1",$tnamerule),$plist);
打开 /include/helpers/channelunit.helper.php,搜索
global $cfg_typedir_df;
修改为:
global $cfg_typedir_df, $cfg_rewrite;
继续搜索
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
修改为:
if($cfg_rewrite == 'Y')
{
    $reurl = $typedir.'/';
}
else
{
    //动态
    $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}
继续搜索
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
修改为
$articleDir = MfTypedir($typedir);
$articleRule = strtolower($namerule);
if($articleRule=='')
{
    $articleRule = strtolower($GLOBALS['cfg_df_namerule']);
}
if($typedir=='')
{
    $articleDir  = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir'];
}
$dtime = GetDateMk($timetag);
list($y, $m, $d) = explode('-', $dtime);
$arr_rpsource = array('{typedir}','{y}','{m}','{d}','{timestamp}','{aid}','{cc}');
$arr_rpvalues = array($articleDir,$y, $m, $d, $timetag, $aid, dd2char($m.$d.$aid.$y));
if($filename != '')
{
    $articleRule = dirname($articleRule).'/'.$filename.$GLOBALS['cfg_df_ext'];
}
$articleRule = str_replace($arr_rpsource,$arr_rpvalues,$articleRule);
if(preg_match("/\{p/", $articleRule))
{
    $articleRule = str_replace('{pinyin}',GetPinyin($title),$articleRule);
    $articleRule = strtolower($articleRule); # 字母大写改为小写
    $articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule);
}
$articleUrl = '/'.preg_replace("/^\//", '', $articleRule);
if(preg_match("/index\.html/", $articleUrl) && $cfg_arc_dirname=='Y')
{
    $articleUrl = str_replace('index.html', '', $articleUrl);
}
return $articleUrl;


tag页

search页

nginx伪静态



1、参考来源:www.baishitou.cn/2506.html


发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,760人围观)

还没有评论,来说两句吧...