Apache/nginx/IIS/下dedecms织梦tag伪静态配置规则

dedecms的tag标签是一个很好管理关键词的功能,通过tag标签可以找到相关的关键词内容那么如何将TAGS静态化

1、在dedecms程序目录下找到 tags.php。打开找到 $PageNo=1到exit(); 的代码(如下图)。把这些代码替换成如下代码:

//tag伪静态

$tagid = (isset($tagid) && is_numeric($tagid)) ? $tagid : 0;

$PageNo = (isset($PageNo) && is_numeric($PageNo)) ? $PageNo : 1;

if ($tagid =="0") {

$dlist = new TagList($tag, 'tag.htm');

$dlist->Display();}

else{$row = $dsql->GetOne("SELECT tag FROM `tagindex` WHERE id ={$tagid}");

if (!is_array($row)) {ShowMsg('系统无此tag', '-1');

exit();}

$tag = FilterSearch($row['tag']);

$dlist = new TagList($tag, 'taglist.htm');

$dlist->Display();}

exit();

2、修改分页代码。同样打开 include/arc.taglist.class.php,找到//获得上一页和下一页的链接。将//获得上一页和下一页的链接  至  //获得数字链接之间的分页函数替换为如下函数:2、TAG调用标签。打开 include/taglib/tag.lib.php 文件找到 $row['link'] =$cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/"; 代码。将它替换成 $row['link'] = "/tags/{$row['id']}.html"; (注意符号都是英文,不是中文。不然查找不到,修改不成功)

if($this->PageNo != 1)

{

$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li>\r\n";

$indexpage="<li><a href='".$purl."/1/'>首页</a></li>\r\n";

}

else

{

$indexpage="<li><a>首页</a></li>\r\n";

}

if($this->PageNo!=$totalpage && $totalpage>1)

{

$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li>\r\n";

$endpage="<li><a href='".$purl."/$totalpage/'>末页</a></li>\r\n";

}

else

{

$endpage="<li><a>末页</a></li>\r\n";  }

RewriteEngine on4、设置伪静态规则。新建一个txt文本,在文本里添加如下伪静态规则。然后另存为.htaccess上传到网站根目录即可(如果已有伪静态文件.htaccess,那么不要覆盖.htaccess。直接打开在里面添加如下规则保存即可。)

Apache下dedecms tags伪静态规则

RewriteBase /

RewriteRule ^tags/([0-9]+)_([0-9]+).html$        tags.php?tagid=$1&PageNo=$2 [L]

RewriteRule ^tags/([0-9]+).html$                tags.php?tagid=$1 [L]

注意 如伪静态生成成功后 但访问出现404页面 是织梦设置伪静态的规则没设置好,需要根据 自己的网站运行环境  iis  nginx apache 来写对应的规则

nginx下dedecms tags伪静态规则

rewrite "^/tags/([0-9]+).html$" /tags.php?tagid=$1 last;
rewrite "^/tags/([0-9]+)_([0-9]+).html$" /tags.php?tagid=$1&PageNo=$2 last;


IIS(web.config)下dedecms tags伪静态规则

<configuration>
 
    <system.webServer>
 
        <rewrite>
 
            <rules>
 
                <rule name="weather1" stopProcessing="true">
 
                    <match url="tags/([0-9]+).html$" ignoreCase="true" />
 
                    <conditions logicalGrouping="MatchAll">
 
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
 
                    </conditions>
 
                    <action type="Rewrite" url="/tags.php?tagid=$1" appendQueryString="false" />
 
                </rule>
 
                <rule name="weather2" stopProcessing="true">
 
                    <match url="tags/([0-9]+)_([0-9]+).html$" ignoreCase="true" />
 
                    <conditions logicalGrouping="MatchAll">
 
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
 
                    </conditions>
 
                    <action type="Rewrite" url="/tags.php?tagid=$1&PageNo=$2" appendQueryString="false" />

                </rule>
 
            </rules>
 
        </rewrite>
 
    </system.webServer>
 
</configuration>

猜你喜欢

转载自blog.csdn.net/qq_39339179/article/details/109806174