dedecms织梦分类信息联动地区伪静态+apache伪静态规则,需要的同学可以看看,由于改动多,需要对比修改的同学可以用【Beyond Compare】软件来修改
apache 分类信息联动地区伪静态规则
RewriteRule ^category/list-(-[0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?channelid=$1&tid=$2&nativeplace=$3&infotype=$4
RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&TotalResult=$2&nativeplace=$3&infotype=$4&PageNo=$5
/include/taglib/infolink.lib.php 整个文件修改为
<?php if(!defined('DEDEINC')) exit('Request Error!');
/**
* 分类信息地区与类型快捷链接
*
* @version $Id: infolink.lib.php 1 9:29 2010年7月6日Z tianya $
* @package DedeCMS.Taglib
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license
* @link
*/
/*>>dede>>
<name>分类信息地区与类型快捷链接</name>
<type>全局标记</type>
<for>V55,V56,V57</for>
<description>调用分类信息地区与类型快捷链接</description>
<demo>
{dede:infolink /}
</demo>
<attributes>
</attributes>
>>dede>>*/
require_once(DEDEINC.'/enums.func.php');
require_once(DEDEDATA.'/enums/nativeplace.php');
require_once(DEDEDATA.'/enums/infotype.php');
function lib_infolink(&$ctag,&$refObj)
{
global $cfg_rewrite,$dsql,$nativeplace,$infotype,$hasSetEnumJs,$cfg_cmspath,$cfg_mainsite;
global $em_nativeplaces,$em_infotypes;
//属性处理
//$attlist="row|12,titlelen|24";
//FillAttsDefault($ctag->CAttribute->Items,$attlist);
//extract($ctag->CAttribute->Items, EXTR_SKIP);
$cmspath = ( (empty($cfg_cmspath) || !preg_match("#\/$#", $cfg_cmspath)) ? $cfg_cmspath.'/' : $cfg_cmspath );
$baseurl = preg_replace("#\/$#", '', $cfg_mainsite).$cmspath;
$smalltypes = '';
if( !empty($refObj->TypeLink->TypeInfos['smalltypes']) ) {
$smalltypes = explode(',', $refObj->TypeLink->TypeInfos['smalltypes']);
}
if(empty($refObj->Fields['typeid'])) {
$row = $dsql->GetOne("SELECT id FROM `dede_arctype` WHERE channeltype='-8' And reid = '0' ");
$typeid = (is_array($row) ? $row['id'] : 0);
}
else {
$typeid = $refObj->Fields['typeid'];
}
$innerText = trim($ctag->GetInnerText());
if(empty($innerText)) $innerText = GetSysTemplets("info_link.htm");
$ctp = new DedeTagParse();
$ctp->SetNameSpace('field','[',']');
$ctp->LoadSource($innerText);
$revalue = $seli = '';
$channelid = ( empty($refObj->TypeLink->TypeInfos['channeltype']) ? -8 : $refObj->TypeLink->TypeInfos['channeltype'] );
$fields = array('nativeplace'=>'','infotype'=>'','typeid'=>$typeid,
'channelid'=>$channelid,'linkallplace'=>'','linkalltype'=>'');
$fields['nativeplace'] = $fields['infotype'] = '';
//伪静态
if($cfg_rewrite == 'Y')
{
$rwlinkallplace = "/category/list-".$channelid."-".$typeid."-".$infotype."-0.html";
$fields['linkallplace'] = "<a href='{$rwlinkallplace}'>不限</a>";
}
else
{
$fields['linkallplace'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&infotype={$infotype}'>不限</a>";
}
//伪静态
if($cfg_rewrite == 'Y')
{
$rwlinkalltype = "/category/list-".$channelid."-".$typeid."-".$nativeplace."-0.html";
$fields['linkalltype'] = "<a href='{$rwlinkalltype}'>不限</a>";
}
else
{
$fields['linkalltype'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$nativeplace}'>不限</a>";
}
//地区链接
if(empty($nativeplace))
{
foreach($em_nativeplaces as $eid=>$em)
{
if($eid % 500 != 0) continue;
//伪静态
if($cfg_rewrite == 'Y')
{
$rwnativeplace = "/category/list-".$channelid."-".$typeid."-".$eid."-".$infotype.".html";
$fields['nativeplace'] .= "<a href='{$rwnativeplace}'>{$em}</a>";
}
else
{