以下转自DZ坛子,和我的方法不太一样,不过基本也实现了自定义URL路径,不像我,全站修改.比较麻烦,所以转过来,有用的就看看.
第一步我们需要开启系统默认没有开放的一个功能,自定义静态页面文件夹。
在
$_SC['cachegrade'] = 0;
后面添加一行代码
$_SC['freshhtml'] = 1;
这时候到supesite后台编辑“资讯分类”的是,你会发现多了两个选填项“分类存放HTML的路径”和“二级域名绑定(以http://开头)”
我们这里只需要填写“分类存放HTML的路径”这个项目,比如“科技世界”这个分类,我可以这样命名“KJSJ”;
我们可以给每一个分类添加一个有意义的名字。
第二步,我们需要调整一下”系统设置“里面的”本地路径设置“,具体参考贴图

第三步,重中之重,我们需要修改一段代码。找到function/common.func.php
大概在125行有一个function gethtmlfile($parray) 函数,我们需要修改这个函数,他的功能是生成URL静态页面路径。
将function gethtmlfile($parray) 函数
替换成:
function gethtmlfile($parray) {
global $_SGLOBAL;
$htmlarr = array();
$dirarr = array();
$id = 0;
if(empty($parray['page'])) {
unset($parray['page']);
} elseif($parray['page'] < 2) {
unset($parray['page']);
}
if(!empty($parray['uid'])) {
$id = $parray['uid'];
if(!empty($parray['action'])) {
if($parray['action'] == ‘space’ || $parray['action'] == ‘spacelist’) {
unset($parray['action']);
} elseif ($parray['action'] == ‘viewspace’) {
unset($parray['action']);
}
}
} elseif(!empty($parray['itemid'])) {
$id = $parray['itemid'];
} elseif(!empty($parray['tid'])) {
$id = $parray['tid'];
} elseif(!empty($parray['tagid'])) {
$id = $parray['tagid'];
} elseif(!empty($parray['catid'])) {
$id = $parray['catid'];
} elseif(!empty($parray['fid'])) {
$id = $parray['fid'];
}
$htmlfilename = str_replace(array(‘action-’, ‘uid-’, ‘itemid-’), array(”, ”, ”), arraytostring($parray, ‘-’));
if(!empty($id)) {
if(!empty($parray['action'])) {
if($parray['action'] == ‘viewnews’) { //文章系统
$query = $_SGLOBAL['db']->query(‘SELECT i.type,i.dateline,c.htmlpath,c.catid FROM ‘.tname(‘spaceitems’).’ i left join ‘.tname(‘categories’).’ c on i.catid=c.catid WHERE i.itemid=\”.$id.’\”);
$news = $_SGLOBAL['db']->fetch_array($query);
$time=date(‘Ymd’, $news['dateline']);
$htmlpath=empty($news['htmlpath'])?$news['catid']:$news['htmlpath'];
$thedir =$news['type'].’/’.$htmlpath.’/’.$time;
$htmlfilename = “{$id}”;
if(!empty($parray['page'])) $htmlfilename .= ‘-’.$parray['page'];
} elseif($parray['action'] == ‘viewthread’) { //BBS
$thedir =”other”;
$htmlfilename = “t-{$id}”;
}
elseif($parray['action'] == ‘category’)
{
$query = $_SGLOBAL['db']->query(‘SELECT i.type,i.htmlpath,i.catid FROM ‘.tname(‘categories’).’ i WHERE i.catid=\”.$id.’\”);
$news = $_SGLOBAL['db']->fetch_array($query);
$htmlpath=empty($news['htmlpath'])?$news['catid']:$news['htmlpath'];
$thedir = $news['type'].’/’.$htmlpath;
$htmlfilename =”index”;
if(!empty($parray['page'])) $htmlfilename = “list-page”.’-’.$parray['page'];
}
}
}
if(is_dir(H_DIR) || (!is_dir(H_DIR) && @mkdir(H_DIR))) {
if(empty($id)) {
$htmlarr['path'] = H_DIR.’/’.$htmlfilename.’/’.’index.html’;
$htmlarr['url'] = H_URL.’/’.$htmlfilename;
} else {
$htmldir = H_DIR.’/’.$thedir;
if(is_dir(H_DIR.’/’.$news['type']) || (!is_dir(H_DIR.’/’.$news['type']) && @mkdir(H_DIR.’/’.$news['type']))){}
if(is_dir($htmldir) || (!is_dir($htmldir) && @mkdir($htmldir))) {
$htmlarr['path'] = H_DIR.’/’.$thedir.’/’.$htmlfilename.’.html’;
$htmlarr['url'] = H_URL.’/’.$thedir.’/’.$htmlfilename.’.html’;
if($parray['action'] == ‘category’&&empty($parray['page'])){
$htmlarr['path'] = H_DIR.’/’.$thedir.’/’.$htmlfilename.’.html’;
$htmlarr['url'] = H_URL.’/’.$thedir;
}
} else {
$htmlarr['path'] = H_DIR.’/’.$htmlfilename.’.html’;
$htmlarr['url'] = H_URL.’/’.$htmlfilename.’.html’;
}
}
} else {
$htmlarr['path'] = S_ROOT.’./’.$htmlfilename.’.html’;
$htmlarr['url'] = S_URL.’/’.$htmlfilename.’.html’;
}
return $htmlarr;
}
第四步,我们到后台开启静态配置就OK了。

12 条评论
#1 zero skateboards @ 2010-10-05 20:41
博客只要能给访客带来收获就是行的,譬如www.xianren.org,我的博客就太垃圾了。
#2 寂寞流星 @ 2010-09-19 16:17
$_SC['cachegrade'] = 0;
这是修改的哪个文件?
闲人 @ 2010-09-19 17:12
ss的config.php文件,在这个文件的最后几行里边,UC配置的上边
#3 曹操包 设计外包 @ 2010-08-18 00:00
仔细看了看你的博客,觉得,还不错。如果有机会在外包领域合作。我很期待。
#4 最有效的美白产品 @ 2010-08-17 15:47
呵呵,有意思
#5 emul @ 2010-08-15 14:38
支持喽!博客不错!
#6 上海股票低佣金 @ 2010-08-14 10:43
好厉害
支持下
#7 Crazy1in.tk @ 2010-08-13 21:21
嘿嘿,路过啦,很喜欢博主的博客。 留下脚印
#8 最新电影大片 @ 2010-08-13 01:44
写的再详细点就好了,总之是篇不错的文章
#9 黑社会电影 @ 2010-08-10 22:52
写的很不错。谢谢
#10 ps @ 2010-08-09 12:31
管用!
#11 南通LED发光字 @ 2010-08-07 12:42
好看的