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
还没有评论,来说两句吧...