示例:
http://www.***.com/sell/list-546.html 列表页
http://www.***.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,
这时我们通过后台,或者网站前台访问内容或分类网址是 http://www.***.com/m/12 这样的形式,要变成 http://www.***.com/m12 需要自己 修改 {$t[linkurl]} 这个标签了,这是因为我们的调用标签会给{$t[linkurl]} 自动加上频道的网址,而每个频道 的网址都是默认以 / 结束的,所以才有了这多出来的一 /
这个可以用函数过虑下,如我的实际地址是: http://www.***.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)=='/'){ $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])}