destoon伪静态自定义修改方法

分类栏目:destoon实战

91

***.com/sell/list-546.html  列表页

***.com/news/  内容页


因为自己的需要,只写了一个apache的规则,其它环境请自己扩展


把以下规则,找到根目录下的  .htaccess 添加进去

RewriteRule ^(.*)1([0-9]+)([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3 RewriteRule ^(.*)0([0-9]+)([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3


打开api/url.inc.php

搜索 

$urls['php']['list'][5] = array('example'=>'('.$L['url_rewrite'].') mulu-c1-2.html','index'=>'{$catdir}-c{$catid}-1.html', 'page'=>'{$catdir}-c{$catid}-{$page}.html');


在它下面添加

$urls['php']['list'][6] = array('example'=>'('.$L['url_rewrite'].') 01','index'=>'0{$catid}', 'page'=>'0{$catid}{$page}');

搜索

$urls['php']['item'][4] = array('example'=>'('.$L['url_rewrite'].') show/1/','index'=>'show/{$itemid}/', 'page'=>'show/{$itemid}/{$page}/');

在它下面添加

$urls['php']['item'][5] = array('example'=>'('.$L['url_rewrite'].') m15','index'=>'1{$itemid}', 'page'=>'1{$itemid}{$page}');


网站后台,模块设置,选择新加的伪静态规则,更新地址。

修改如商城模块的目录 mall为m,  

这时我们通过后台,或者网站前台访问内容或分类网址是  ***.com/m/12  这样的形式,要变成 ***.com/m12   需要自己 修改 {$t[linkurl]} 这个标签了,这是因为我们的调用标签会给{$t[linkurl]} 自动加上频道的网址,而每个频道 的网址都是默认以  /  结束的,所以才有了这多出来的一  /  


这个可以用函数过虑下,如我的实际地址是: ***.com/m/12  那么过虑使用方法   {str_replac e("m/", "m", $t[linkurl]);} ,注:把c 和e之间的空格删除,因为网站安全设置会过虑php函数的原因,不能连一起写。

这样就把/过虑掉了


下面是我扩展的一个函数,可以判断网站是否开启伪静态,如果开启就替换网址,复制函数加入include/global.func.php

//url根目录化 function duan_com($url){ global $DT, $CFG; if(!$DT['rewrite']) return $url; if(subst($url,-1)=='http://www.dtmuban.com/'){ $url = subst($url,0,strlen($url)-1); } if(strstr($url,"/0")){ $url = str_replac('/0', '0', "$url"); }elseif(strstr($url,"/1")){ $url = str_replac('/1', '1', "$url"); if(strstr($url,"http:/1")){ $url = str_replac('http:/1', 'http://1', "$url"); }elseif(strstr($url,"http:/0")){ $url = str_replac('http:/0', 'http://0', "$url"); } } return $url; }

调用方法 {duan_com($t[linkurl])}