destoon伪静态之列表,内容根目录,一级目录化

分类栏目:destoon实战

156

因为自己的需要,只写了一个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,  

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

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

这样就把/过虑掉了


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

//url根目录化
function dtmoban_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', 'https://1', "$url");
       }elseif(strstr($url,"http:/0")){
           $url = str_replac('http:/0', 'https://0', "$url");
       }
   }
   return $url;
}



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